Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2194697
  • 博文数量: 866
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10638
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/landuochong

文章分类

全部博文(866)

文章存档

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(70)

2011年(103)

2010年(360)

2009年(283)

2008年(22)

分类: Android平台

2015-05-05 15:21:45

ImageLoader的加载机制
( ImageLoader工程详见:https://github.com/nostra13/Android-Universal-Image-Loader)

1. 先下载到sd卡,加载到内存,显示

2.内存中存储,形式
   String memoryCacheKey = MemoryCacheUtils.generateKey(uri, targetSize);
   所以不同大小和url的图片视为不同的Bitmap对象

3.在加载图片时,先获取ImageView的大小,获取大小为0,则使用Configuration中的最大大小,详见源码:ImageLoader-》displayImage()中
  ImageSize targetSize = ImageSizeUtils.defineTargetSizeForView(imageAware, configuration.getMaxImageSize())
  个人感觉,对于app中的较大图片,最好给定初始大小或者通过计算得到像素值,这样避免加载的图片较大,加速加载过程

4.当图片加载总大小大于一定值,将会移除列表,但是图片内存不一定会立即释放

5.由于Imageloader持有的图片大小+代码布局中或通过自己加载的方式加载的图片 总大小大于一定值会引起内存溢出或者图片加载失败,建议使用一套
图片加载机制。

6.布局中的图片最好代码中加载,不要直接写在布局中,界面销毁时最好解除关联引用,便于内存释放

阅读(3711) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册