Android volley通过网络请求图片流程分析

1.1 Android volley通过网络请求图片流程

Android volley通过网络请求图片流程分析_第1张图片
VolleyRequestImage
1.2.1 ImageLoader的get方法
  1. 首先ImageCache缓存中查找
  2. 缓存不存在则
    a. 创建ImageContainer,设置回调imageviewImageListener
    b. 通知ImageView设置默认的Bitmap
  3. 创建ImageRequest
  4. cachekey保存在mInFlightRequests中,valueBatchedImageRequest
1.2.2 RequestQueue的add方法

添加requestrequestqueue,如果request不可缓存,则添加到mNetworkQueueNetworkDispatcher线程执行网络调度;
否则添加到由添加mCacheQueueCacheDispatcher调度,如果缓存为空或者过期则重新发送到mNetworkQueue

1.2.3 Other

BasicNetWork交给HttpStack负责网络请求相关;
ExecutorDelivery通过引用线程的Handler根据response的结果分发给对应的request;
ImageLoader创建ImageRequest时,为其设置了Response.Listener监听实现;
ImageRequest将结果发送给所有其mBatchedResponses持有的所有BatchedImageRequest;

你可能感兴趣的:(Android volley通过网络请求图片流程分析)