Android线程模型
2010-05-27 03:46:00 来源:WEB开发网核心提示:你可以使用泛型参数制定任务的参数、中间值(progress values)和任何的最终执行结果 doInBackground()方法会自动地在工作者线程中执行 onPreExecute()、onPostExecute()和onProgressUpdate()方法会在UI线程中被调用 doInBackground()方法
你可以使用泛型参数制定任务的参数、中间值(progress values)和任何的最终执行结果 doInBackground()方法会自动地在工作者线程中执行 onPreExecute()、onPostExecute()和onProgressUpdate()方法会在UI线程中被调用 doInBackground()方法的返回值会被传递给onPostExecute()方法 在doInBackground()方法中你可以调用publishProgress()方法,每一次调用都会使UI线程执行一次onProgressUpdate()方法 你可以在任何时候任何线程中取消这个任务
除了官方的文档,你可以阅读Shelves和Photostream源代码中的几个复杂的示例。我强烈地推荐阅读Shelves的源代码,它会使你知道如何在配置更改之间持久化任务以及在activity被销毁时正确的取消任务。
不管是否使用AsyncTask,始终记住以下两个关于单线程模型的准则:不要阻塞UI线程以及一切Android UI操作都在UI线程中执行。AsyncTask仅仅是使你能够更容易地遵守这两条准则。
更多精彩
赞助商链接