处理多线程Android应用程序中的活动破坏

时间:2010-05-25 09:36:38

标签: android multithreading

我有一个多线程应用程序,后台线程用于通过网络或磁盘/数据库加载数据。每隔一段时间用户就会执行一些操作,例如通过网络获取新闻,这将产生后台AsyncTask,但由于某种原因,用户将退出应用程序(按下后退按钮以便活动被销毁)。在大多数这样的场景中,我在后台线程中从n / w i / o返回后进行适当的检查,这样它就不会通过访问现在被销毁的活动的成员而崩溃。然而,一些极端情况留在崩溃发生的地方,因为后台线程将访问现在为null的某个活动成员。

其他Android开发人员是否有一些通用/推荐的框架来处理这种情况?

这些是我希望android在活动销毁时保证终止所有线程的时候(就像常规linux进程在退出时清理一样)...但我猜Android开发者有充分的理由不暴露通过api处理生命周期。

1 个答案:

答案 0 :(得分:0)

我个人有一个布尔“isAlive”,我在onDestroy()中设置为false,由后台线程检查。它适用于我的应用程序,这些应用程序具有将应用程序数据与在线数据库同步的守护程序。