标签: java android multithreading android-asynctask runnable
我希望更好地了解活动被销毁时Thread或AsyncTask会发生什么。
Thread
AsyncTask
因此,在这种情况下,Thread或AsyncTask将从活动开始,用户点击主页按钮,onDestroy被调用触发GC,之后任何一个AsyncTask线程都有机会光洁度。
onDestroy
在此方案Thread/Runnable或AsyncTask中哪一个更有可能一直运行?
Thread/Runnable
感谢。
答案 0 :(得分:3)
两者都会运行
但问题是,如果你在AsyncTask的Thread上引用了被杀死的活动,那么它就会泄漏,这是你需要解决的问题,以使长时间运行的任务与UI同步
如果您有更大的任务,我建议您启动Service,这在Android环境中更容易处理
答案 1 :(得分:0)
AsyncTask基于线程,所以它的行为没有太大的区别,它们都会在onDestroy之后运行。要避免此行为,您可以使用Loaders或在onDestroy方法中手动停止执行AsyncTasks / Threads。