码迷,mamicode.com
首页 > 移动开发 > 详细

Android AsyncTask使用注意简介及注意事项

时间:2015-06-24 22:31:55      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

      说起Android的AsyncTask,则必须要说到Android中的单线程模型,在Android中只允许UI线程来操作界面,WorkingThread是不允许操作UI的。同时耗时的操作则应尽量放在WorkingThread中来操作,防止阻碍UI线程更新 界面,导致 ANR(Application Not Responding) 异常。这样可以保证UI操作的稳定和流畅,避免造成多线程操作致使UI混乱。

     我们可以使用线程池来操作,Android给我们提供了Handler 机制,其实也给我们提供了一个AsyncTask组件。使用线程池来操作的时候,我们需要管理线程,同时需要用handler来发送消息,但是在处理过程中代码过多,显得过于复杂。

    AsyncTask 参数构建

AsyncTask是一个抽象类,里面封装有三个泛型参数。通常情况下,我们需要集成这个类来实现功能。

  • Params 启动任务执行的输入参数,比如HTTP请求的URL。
  • Progress 后台任务执行的百分比。
  • Result 后台执行任务最终返回的结果,比如String。

   AsyncTask子类回调方法

  • doInBackground(Params…): 后台任务,必须重写的方法。
  • onPostExecute(Result)  相当于Handler 处理UI的方式,当doInBackground 完成之后,系统会自动调用。

以下方法不是必须复写的

  • onProgressUpdate(Progress…)   更新任务的执行进度出发的方法。publishProgress()
  • onPreExecute()        执行后台耗时任务前调用!
  • onCancelled()          用户调用取消时,要做的操作

Android AsyncTask使用注意简介及注意事项

标签:

原文地址:http://www.cnblogs.com/BoBoMEe/p/4598720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!