我在我的应用程序中使用Universal Image loader库。我遇到一个奇怪的问题,有时在某些Android手机上它只加载HALF图像,就像我附上图像一样。
这是我的配置:
public static void initImageLoader(Context context) {
// This configuration tuning is custom. You can tune every option, you
// may tune some of them,
// or you can create default configuration by
// ImageLoaderConfiguration.createDefault(this);
// method.
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
context)
.threadPriority(Thread.NORM_PRIORITY - 1)
.threadPoolSize(3)
// default
// .denyCacheImageMultipleSizesInMemory()
.discCache(
new FileCountLimitedDiscCache(new File(
Constant.EXTERNAL_STORAGE_PATH_FOR_LAZY), 100))
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))
// discCache(new TotalSizeLimitedDiscCache(new
// File(Constant.EXTERNAL_STORAGE_PATH_LAZY), 10))
.discCacheFileNameGenerator(new HashCodeFileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.FIFO)
.discCacheFileCount(100)
// .discCacheSize(1 * 512 * 1024)
.build();
ImageLoader.getInstance().init(config);
}
}
答案 0 :(得分:0)
你可以试试这个:
compile 'com.koushikdutta.ion:ion:2.+'
此
Ion.with(imageView)
.placeholder(R.drawable.placeholder_image)
.error(R.drawable.error_image)
.animateLoad(spinAnimation)
.animateIn(fadeInAnimation)
.load("http://example.com/image.png");
基于此example
希望它有所帮助!!!
答案 1 :(得分:0)
使用Glide。我使用它代替UIL并向你推荐。
答案 2 :(得分:0)
在下载图片时使用监听器,在该监听器中,您可以在onLoadingComplete()
中完成工作。
以下是此示例代码:
imageLoader.loadImage(url, new SimpleImageLoadingListener(){
@Override
public void onLoadingComplete(String imageUri, View view,
Bitmap loadedImage) {
super.onLoadingComplete(imageUri, view, loadedImage);
//write your code here to use loadedImage
}
});
此代码可帮助您识别图像何时完全下载。