用于异步加载缓存图片。
1.首先在Application中对imageLoader的全局相关参数进行初始化。包含线程数、缓存大小等。该方法为ImageLoaderConfiguration.
<pre>
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Create global configuration and initialize ImageLoader with this configuration
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
...
.build();
ImageLoader.getInstance().init(config);
}
}
</pre>
2.loadimage及diaplayimage是针对的每一次要加载图片时的对象
ImageLoader.getInstance().loadimage(....)//其中内部有一个参数需要传递xml中的imageview的id,即表示图片显示的位置
ImageLoader.getInstance().diaplayimage(....)
3.加载图片的uri包含网络,sdCard,ContentProvider等。不同的是每个uri不同。例如:
String imageUri = "http://site.com/image.png"; // from Web
String imageUri = "file:///mnt/sdcard/image.png"; // from SD card
String imageUri = "content://media/external/audio/albumart/13"; // from content provider
String imageUri = "assets://image.png"; // from assets
String imageUri = "drawable://" + R.drawable.image; // from drawables (only images, non-9patch)
4.本身该方法具有多开线程池的功能。具有缓存机制及简单的捕获异常,能够避免产生一定的OOM,但有可能也会因加载产生OOM。
4.1 针对该问题,在使用该方法时设置线程池数threadPoolSize不易过多,建议不超过5个;
4.2 内存缓存为memoryCache(new WeakMemoryCache()) 或者不使用内存缓存
4.3 在DisplayImageOptions选项中配置bitmapConfig为Bitmap.Config.RGB_565,因为默认是ARGB_8888, 使用RGB_565会比使用ARGB_8888少消耗2倍的内存
4.4 在DisplayImageOptions选项中设置.imageScaleType(ImageScaleType.IN_SAMPLE_INT)或者imageScaleType(ImageScaleType.EXACTLY)
此外建议使用displayImage()方法去加载图片,loadImage()是将图片对象回调到ImageLoadingListener接口的onLoadingComplete()方法中,需要我们手动去设置到ImageView上面,displayImage()方法中,对ImageView对象使用的是Weak references,方便垃圾回收器回收ImageView对象,如果我们要加载固定大小的图片的时候,使用loadImage()方法需要传递一个ImageSize对象,而displayImage()方法会根据ImageView对象的测量值,或者android:layout_width及android:layout_height设定的值,或者android:maxWidth and/or android:maxHeight设定的值来裁剪图片
imageLoader
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
- *4月22日第二次辟谷,很欣慰获得老师的批准符合辟谷14天的条件! 怀着欣喜若狂的状态来到课堂,还有一些忐忑不安!...