我想弄清楚一个活动的 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
sContext
带有Activity
引用的 a 时,请使用应用程序的Context
( context.getApplicationContext()
)。WeakReference
在运行一些后台操作Context
时使用(或在真正可行的情况下)作为附录,使用 Eclipse 的内存分析工具 (MAT) 检查堆转储。