我在我的应用程序中使用通用图像加载器,我的应用程序在ListView中包含很多图像
我在我的适配器
中使用此方法为confg和iam创建了一个方法首先:有时这会使我的应用程序因OutOfMemeory错误而停止。 第二:滚动时我的ListView太慢了。
剂量我的配置正确或我必须改变它
并且在这样的方法中使用此配置是错误的
并从5个不同的ListView
调用此方法这是我的方法
public final static DisplayImageOptions imageLoaderConfig(Context context) {
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.bitmapConfig(Bitmap.Config.RGB_565)
.resetViewBeforeLoading(true)
.showImageForEmptyUri(R.drawable.shadow)
.cacheInMemory(true).cacheOnDisc(true).build();
File cacheDir = StorageUtils.getCacheDirectory(context);
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
context)
.memoryCacheExtraOptions(480, 800)
.taskExecutor(null).taskExecutorForCachedImages(null)
.threadPoolSize(5)
.threadPriority(Thread.NORM_PRIORITY)
.denyCacheImageMultipleSizesInMemory()
.memoryCacheSize(15 * 1024 * 1024)
.imageDownloader(new BaseImageDownloader(context))
.imageDecoder(new BaseImageDecoder(true))
.defaultDisplayImageOptions(defaultOptions)
.writeDebugLogs().build();
ImageLoader.getInstance().init(config);
return defaultOptions;
}
这是我的服装清单
public class CustomListViewWallPost extends
ArrayAdapter<getterssetters.Items_WallPost> {
getterssetters.Items_WallPost postItem;
private int mLastFirstVisibleItem = 0;
static Context context;
List<getterssetters.Items_WallPost> objects_;
int width_;
DisplayImageOptions defaultOptions;
ImageLoader imageLoader;
public CustomListViewWallPost(Context context, int textViewResourceId,
List<getterssetters.Items_WallPost> objects, int width_) {
super(context, textViewResourceId, objects);
this.context = context;
this.width_ = width_;
this.objects_ = objects;
defaultOptions = PublicMethods
.imageLoaderConfig(context);
imageLoader = ImageLoader.getInstance();
}