AsyncTask

基于最新版本的AsyncTask详细解读

2016-07-21  本文已影响341人  SilenceDut

关于Asnynck有很多的源码解读,但一些解读现在看来已经不在适用了,比如AsyncTask类必须在UI Thread当中加载,AsyncTask的对象必须在UI Thread当中实例化等一些结论都是基于以前版本的代码来解读的,现在看来已经不是这样的了。

一些结论解读(基于android-23源码):

AsyncTask执行任务的过程原理

AsyncTask的任务执行原理是新建一个有返回值的任务线程FuntureTask和一个Callabler任务,在任务中从doInBackground得到的结果Result通过Handler进行处理,调用onProgress和onPostResult(Result result)关于FuntureTask和Callable更多可看Callable和FutureTask

初始化对象时建立相应的任务
execute时执行该任务

AsyncTask的严重问题及替代方案

虽然AsyncTask很好用但却又一些问题需要特别注意,详细内容请看详细解读AsyncTask的黑暗面以及一种替代方案

上一篇下一篇

猜你喜欢

热点阅读