2015-11-12 19 views
14

私は小さなアンドロイドアプリを持っていて、メモリリークを探していたので、「ダンプJavaヒープ」をクリックして、リストの最初のクラスをFinalizerReference(java.lang.ref)にしました。これには500以上のインスタンスがあり、それぞれが別のFinalizerReferenceに対して「次へ」と「前へ」を持ちます。FinalizerReferenceによるメモリリークの可能性

FinalizerReferenceはObject.finalize()を実装しているオブジェクトから来ていますが、実装しているアプリケーションにはオブジェクトがありません。どのようにしてこのリークが起こり、それを修正するのかを知るには?あなたの問題の詳細については

enter image description here

+0

あなたはOutOfMemoryErrorsを経験している、またはあなただけのためFinalizerReferenceインスタンスのメモリリークがあるかもしれないと疑っていますか? – 1615903

+0

@ 1615903ちょっと疑わしい。 – amitooshacham

+1

まだ問題はない。クラスにはファイナライザがあるため、ファイナライズが保留中です。まだ存在しない問題は解決しないでください。 – EJP

答えて

2

、あなたのFinalizer指示対象フィールドを確認します。 FinalizerオブジェクトはReferenceに拡張されているため、コンテンツを調査することができます。ファイナライズするオブジェクトに関する情報が表示されます。

内容によっては、新しいリードがあります。保留中のオブジェクトのファイナライズ処理が非常に長い可能性があります。それらをすべて処理しているスレッドが1つしかないので、何とか完了できる可能性があります。

乾杯

関連する問題