【发布时间】:2011-04-04 14:52:36
【问题描述】:
我的 Activity 非常繁重,UI 线程中发生了很多事情,Activity 中还有其他 Runnable 线程。在这个主要活动中,我通过按下按钮启动一个新活动,使用startActivityForResult() 调用该活动。现在,当我开始新活动时,我收到一个 ANR 错误,这意味着有些事情花费的时间超过了设定的时间,并且我会弹出 ForceClose/Wait 对话框。
问题是,对于新的 Activity,我只设置了 Activity 的 contentView,没有其他任何东西,所以这意味着前一个 Activity 中的某些东西导致它挂起。直到最近,它才在应用程序中出现过这种情况,我想不出我为它添加了什么导致这种情况。
在第一个 Activity 中,我有 OpenFeint、SurfaceHolder.Callback、后台线程中的数据库调用和大量图像操作。这些进程中的任何一个是否足够饥饿而导致 ANR?
我是否可以在第二个活动加载时暂停第一个活动(我认为它确实这样做了)?就像我说的那样,第二个 Activity 除了加载 ContentView 什么都不做。
【问题讨论】:
标签: java android multithreading android-activity