あるアクティビティの Context オブジェクトが別のアクティビティにリークされているかどうかを確認したいと考えています。次のコードは、あるアクティビティのコンテキストを別のアクティビティにリークしますか?
Intent intent = new Intent(context, Demo.class);
context.startActivity(intent);
あるアクティビティの Context オブジェクトが別のアクティビティにリークされているかどうかを確認したいと考えています。次のコードは、あるアクティビティのコンテキストを別のアクティビティにリークしますか?
Intent intent = new Intent(context, Demo.class);
context.startActivity(intent);
いいえ、それはあなたの文脈を「漏らす」ことはありません。一般に、Activity コンテキストのリークを回避するには、次のヒントに従う必要があります。
Context
View
s の間にActivity
sを渡さないでくださいContext
参照付きのが必要ないときはいつでもActivity
、アプリケーションのContext
( context.getApplicationContext()
) を使用します。WeakReference
保持する場合に使用します。Context
補足として、Eclipse 用のメモリ分析ツール (MAT) を使用して、ヒープ ダンプを調べます。