Har*_*elm 11 android android-asynctask android-activity
考虑在Activity中启动的AsyncTask.如果活动暂停或销毁会发生什么?onPostExecute()会运行吗?如果是,将使用什么UI线程?
就是想.
提前谢谢了.
waq*_*lam 11
UI线程在应用程序的整个可见生命周期中都可用,这可能跨越多个活动的组合.
您在视图中更改的任何内容都必须在UI线程上执行,而AsyncTask的onPostExecute通过执行UI线程内部的指令来反映相同的逻辑.
您可以使用自己的runOnUiThreadThread对Views进行更改.但由于AsyncTask具有onPostExecute方法(也可以在UI线程上运行),因此您在逻辑上不需要在那里使用runOnUiThread.
更新
关于你的问题:是的,onPostExecute仍将被调用(因为它由一个单独的线程调用),即使你的活动被销毁,如果该方法将操纵视图,你只会得到强制关闭错误,因为你的活动参考不可用了.
| 归档时间: |
|
| 查看次数: |
8675 次 |
| 最近记录: |