Android 中的线程模型
2010-04-14 05:07:00 来源:WEB开发网核心提示:· onPreExecute(),onPostExecute()和onProgressUpdate()在主线程中调用· doInBackground()中返回的值会发送给onPostExecute()方法· 你可以在doInBackground()中随时调用publishProgress()来执行onProgressU
· onPreExecute(),onPostExecute()和onProgressUpdate()在主线程中调用
· doInBackground()中返回的值会发送给onPostExecute()方法
· 你可以在doInBackground()中随时调用publishProgress()来执行onProgressUpdate()
· 你可以任何时候从任何线程中取消任务
除了官方的文档,你还可以参考几个复杂例子的源代码,如Shelves(ShelvesActivity.java和AddBookActivity.java)和Photostream(LoginActivity,PhotostreamActivity.java和ViewPhotoActivity.java)。我们强烈地建议你阅读Shelves的源代码,来了解配置变更时任务的保存以及Activity销毁时如何正确地取消任务。
不管你是否使用AsyncTask,在单线程模型中始终要记住两条法则:
1. 不要阻塞UI线程
2. 确保只在UI线程中访问Android UI工具包
更多精彩
赞助商链接