問題タブ [java-memory-leaks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - LeakCanary がリークを特定するのに十分な情報を提供していない
LeakCanary を使用していますが、ヒープ分析の結果では、リークを検出するのに十分な情報が得られません。アクティビティがリークしていることだけが言及されています。
この痕跡からわかるのSelectActivity
は、漏れていることだけです。しかし、私は理由を理解できませんか?アクティビティ自体は 1000 行以上あり、すべての行を調べてリークの可能性のある候補をチェックする以外にショートカットがあるかどうかを期待していました。
java - Java メモリの問題: Java.lang.ref.finalizer オブジェクト
ファイナライザー オブジェクトによって引き起こされるメモリ リークに関するほとんどの調査では、コードまたは依存ライブラリのいずれかで、ファイナライズ メソッドをオーバーライドする必要があります。しかし、私のプロジェクト全体では、どこにも使用されていません。(私はJava8を使用しています)
メモリの問題に直面しています。私のサービスでは、サービスを再起動するとすぐに使用可能なメモリが減少し始め、7 日以内に 95% 減少し、後で頻繁に警告が表示されます。
上のグラフは、Y 軸で使用可能なメモリを示しています。上のグラフのすべてのピークは、サービスの再開のためのものです。
Eclipse Mat でヒープ ダンプを調べたところ、次のように表示されました。
ご覧のとおり、ほとんどすべてのスペースが 1 つのオブジェクトだけで占められています。つまりjava.lang.ref.Finalizer
、プロジェクトでフィールド Java 検索を行ったときに、finalize() メソッドを使用するコードが表示されません。
そして、メモリリークを見つけようとして行き詰まりました。問題を引き起こしている可能性のある他の理由はありますか。