【发布时间】:2017-10-18 11:17:38
【问题描述】:
假设您有一个包含两个活动的应用程序:活动 A(启动器)和一个启动活动 B 的按钮。重要的活动 B 的代码是:
final Thread.UncaughtExceptionHandler defaultHandler = Thread.getDefaultUncaughtExceptionHandler();
@Override
protected void onCreate( Bundle savedInstanceState )
{
super.onCreate( savedInstanceState );
setContentView(....);
Thread.setDefaultUncaughtExceptionHandler( new Thread.UncaughtExceptionHandler()
{
@Override
public void uncaughtException( Thread thread, Throwable ex )
{
}
});
}
Activity B 为其界面加载一些位图。它不会在退出时恢复旧的默认未捕获异常处理程序。执行 A->B->A->B... 会导致内存不足异常,因为活动 B 已泄漏。为什么活动 B 会被泄露?
【问题讨论】:
标签: android android-activity memory-leaks