卸下方法resetVideBeforeLoading。检查我通常将采样:
// Create a public utility class
public static ImageLoaderConfiguration getConfig(Context context) {
return new ImageLoaderConfiguration.Builder(context)
.memoryCacheExtraOptions(480, 800)
.diskCacheExtraOptions(480, 800, null)
.threadPriority(Thread.NORM_PRIORITY - 2)
.tasksProcessingOrder(QueueProcessingType.FIFO)
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new LruMemoryCache(2 * 1024 * 1024))
.memoryCacheSize(2 * 1024 * 1024)
.diskCache(new UnlimitedDiskCache(context.getCacheDir()))
.diskCacheSize(50 * 1024 * 1024)
.diskCacheFileCount(100)
.diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
.imageDownloader(new BaseImageDownloader(context))
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.build();
}
public static DisplayImageOptions getOptions() {
return new DisplayImageOptions.Builder()
.resetViewBeforeLoading(true)
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(false) // Default
.imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // Default
.bitmapConfig(Bitmap.Config.ARGB_8888) // Default
.displayer(new SimpleBitmapDisplayer()) // Default
.handler(new Handler()) // Default
.build();
}
,并使用:
ImageLoader.getInstance().init(Utils.getConfig(context));
ImageLoader.getInstance().displayImage(
imageUrl,
mImageView,
Utils.getOptions(), new ImageLoadingListener() {
@Override
public void onLoadingStarted(String s, View view) {
// Show loader
}
@Override
public void onLoadingFailed(String s, View view, FailReason failReason) {
// Show error message
}
@Override
public void onLoadingComplete(String s, View view, Bitmap bitmap) {
// Hide loader
}
@Override
public void onLoadingCancelled(String s, View view) {
}
});
嗯...你有缓慢的互联网?你缓存到磁盘?不清楚你想要什么答案。 –
你正在加载的图片大小是多少? –
感谢您的宝贵答案,但互联网速度是2-3 Mbps, –