picasso加载流程
2015-07-15 20:01:52 4 举报
Picasso流程图
作者其他创作
大纲/内容
已经开启Dispatcher线程不过线程中还没有发送消息
target.setImageDrawble
主线程
Picasso.enqueueAndSubmit(action)
Dispatcher线程开始传送消息
RequestCreator.into(target)创建图片下载请求Request
dispatcher.dispatchComplete(this)发送异步消息HUNTER_COMPLETEbatch(hunter);批处理dispatcher.performBatchComplete()
.load(url)创建RequestCreator
OkHttpDownloader封装本地缓存
hunter.attach(action)
PicassoExecutorService线程池
Bitmap hunt()先从cache中取,没有则构建RequestHandler.load(Request,netWork)并对bitmap解析和压缩decodeStream
是
否
有
Picasso.with(context).load(url).into(target)
默认OkHttpDownloader
创建具体加载action
获取BitmapHunter hunterMap.get(action.getKey())
Picasso.with(context)获取单例、初始化downloader、cache、dispatcher
LruCacheLRU策略
DisPatcher线程
forRequest构建hunter线程ExecutorService.submit(hunter)
cache是否有
dispatcher.dispatchSubmit(action)发送异步消息 REQUEST_SUBMIT
0 条评论
回复 删除
下一页