Thread Runnable 与 AsyncTask 生命周期

Thread Runnable vs AsyncTask Life Cycle

我想更好地了解 ThreadAsyncTask 在 activity 被销毁时会发生什么。

所以在这种情况下,ThreadAsyncTask 将从 activity 开始,用户点击主页按钮并且 onDestroy 在任一线程之前被调用触发 GC的 AsyncTask 有机会完成。

在这种情况 Thread/RunnableAsyncTask 中,哪个更有可能 运行 直到完成?

谢谢。

两者都会运行

但问题是如果你在 AsyncTask 的线程上有一个被杀死的 activity 的引用它会泄漏,这是一个你需要解决的问题才能使长 运行ning 任务同步UI

如果你有更大的任务,我建议你启动一个 Service,这在 Android 上下文

中更容易处理

AsyncTask 基于线程,因此在 onDestroy 之后 运行 其行为没有太大差异。为避免此行为,您可以使用 Loaders 或在 onDestroy 方法中手动停止执行 AsyncTasks/Threads。