功能实现:实现异步的网络图片加载、缓存及显示,支持多线程异步加载,可以很有效的防止内存溢出,
并且加载图片非常流畅,毫无卡顿现象
多线程异步加载和显示图片(图片来源于网络、sd卡、assets文件夹,drawable文件夹(不能加载9patch),新增加载视频缩略图)
1、在应用中配置ImageLoaderConfiguration参数(只能配置一次,如多次配置,则默认第一次的配置参数)
a、使用默认设置
ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(this);
b、自己配置参数
File cacheDir = StorageUtils.getCacheDirectory(context);
//缓存文件夹路径
ImageLoaderConfiguration config =
new
ImageLoaderConfiguration.Builder(context)
.memoryCacheExtraOptions(
480
,
800
)
// default = device screen dimensions 内存缓存文件的最大长宽
.diskCacheExtraOptions(
480
,
800
,
null
)
// 本地缓存的详细信息(缓存的最大长宽),最好不要设置这个
.taskExecutor(...)
.taskExecutorForCachedImages(...)
.threadPoolSize(
3
)
// default 线程池内加载的数量
.threadPriority(Thread.NORM_PRIORITY -
2
)
// default 设置当前线程的优先级
.tasksProcessingOrder(QueueProcessingType.FIFO)
// default
.denyCacheImageMultipleSizesInMemory()
.memoryCache(
new
LruMemoryCache(
2
*
1024
*
1024
))
//可以通过自己的内存缓存实现
.memoryCacheSize(
2
*
1024
*
1024
)
// 内存缓存的最大值