Thread Runnable与AsyncTask生命周期

时间:2015-05-07 05:11:08

标签: java android multithreading android-asynctask runnable

我希望更好地了解活动被销毁时ThreadAsyncTask会发生什么。

因此,在这种情况下,ThreadAsyncTask将从活动开始,用户点击主页按钮,onDestroy被调用触发GC,之后任何一个AsyncTask线程都有机会光洁度。

在此方案Thread/RunnableAsyncTask中哪一个更有可能一直运行?

感谢。

2 个答案:

答案 0 :(得分:3)

两者都会运行

但问题是,如果你在AsyncTask的Thread上引用了被杀死的活动,那么它就会泄漏,这是你需要解决的问题,以使长时间运行的任务与UI同步

如果您有更大的任务,我建议您启动Service,这在Android环境中更容易处理

答案 1 :(得分:0)

AsyncTask基于线程,所以它的行为没有太大的区别,它们都会在onDestroy之后运行。要避免此行为,您可以使用Loaders或在onDestroy方法中手动停止执行AsyncTasks / Threads。