5

Eclipse メモリ アナライザー ツール (MAT) を使用して、Android アクティビティにメモリ リークがあるかどうかを調査しています。アクティビティにリークがある場合、デッド インスタンスがヒープにぶら下がっており、ガベージ コレクションが行われていないことが予想されます。これを確認するために、([戻る] ボタンを押して) アクティビティの開始と停止を繰り返し、MAT を使用してヒープ ダンプを検査します。

しかし、私は説明できない奇妙な動作を観察しています: アクティビティの最初のインスタンス (強制終了を行った後に開始されたもの) は、ガベージ コレクションを取得しません。ただし、後続のインスタンスはそうします。これは、MAT ツールを使用した調査からわかっています。アクティビティが何度開始および停止されても、MAT ツールは常にヒープ上に 2 つのインスタンスを表示します。最初のインスタンスはアクティビティが初めて開始されたときのもので、2 番目のインスタンスは最後に実行されたアクティビティのものです。

何が起こっているのか、そして私がこれについて心配する必要があるかどうかについての考え. メモリリーク?提案は大歓迎です。

4

1 に答える 1

0

閉じる: MapActivity サブクラスのメモリ リークに関する既知の問題があるようです。たとえば、code.google.com/p/android/issues/detail?id=2181 を参照してください。私に適した修正はまだ見つかりません。

于 2013-03-06T12:53:37.010 に答える