AsyncTask是一个异步任务,简单的实现后台运行事务的方式。特点:1、任务在UI线程之外运行,回调方法在UI线程中执行;2、耗时的操作放在后台执行,不用人为的另开线程或者使用Handler来完成;3、AsyncTask相对Handler来说,使用更加方便。
AsyncTask需要重写的方法:
1、onPreExcute()----在执行任务之前调用此方法,可以在这里显示进度对话框
2、doInBackground(Params...)----此方法在后台线程执行,完成任务的主要工作,在执行任务的时候调用此方法
3、publishProgress(Params...)----更新任务的进度
4、onProgressUpdate(Params...)----此方法在UI线程中执行,用于显示任务的进度,接收publishProgress传递过来的参数
5、onPostExcute(Result)----此方法也在UI线程中执行,任务执行的结果作为此onPostExecute()方法参数的返回
AsyncTask常用的方法:
1、cancel(boolean mayinterruptIfRunning)----尝试取消任务的这个执行。如果任务不能取消返回false,如果任务正常执行完成,返回true
2、execute(Params...params)----用指定的参数来执行此任务,该方法将会返回此任务本身,必须在UI线程中调用
3、get(long timeout,TimeUnit unit)----等待计算结束并返回结果,最长等待时间为timeout(超时时间)
4、getStatus()----获得任务的当前状态
5、isCancelled()----如果在任务正常结束之前取消任务成功返回true,否则返回false
你可能感兴趣的文章
转载请注明出处: https://www.teachcourse.cn/340.html ,谢谢支持!