如何确定Context对象是否从一个活动泄漏到另一个活动?

时间:2012-05-01 06:20:24

标签: android memory-leaks

我想弄清楚一个活动的Context对象是否被泄露给另一个活动。以下代码是否将一个活动的上下文泄露给另一个活动?

Intent intent = new Intent(context, Demo.class);
context.startActivity(intent);

2 个答案:

答案 0 :(得分:2)

不,这不会“泄露”你的背景。一般来说,为了避免泄露活动上下文,这里有一些提示:

  • 永远不要保留对Context
  • 的静态引用
  • 不要在View s
  • 之间传递Activity
  • 如果您不需要带有Context引用的Activity,请使用该应用的Contextcontext.getApplicationContext())。
  • 在运行某些后台操作时(或在可行的情况下)保持WeakReference时使用Context

答案 1 :(得分:0)

作为附录,使用内存分析工具(MAT)进行eclipse检查堆转储。