내 응용 프로그램에서 아래의 구성을 사용하고 있습니다. 우리는 UIL을 통한 이미지 로딩과 함께 스마트 어댑터를 사용하는 많은 목록 화면을 가지고 있습니다. UIL 구성을 위해 아래 코드를 사용하고 있습니다. 우리는 충돌 로그에 많은 OutOfMemoryError를 얻고 있습니다.UIL OutOfMemory
private static final int MB = 1024 * 1024;
private static final int MEMORY_CACHE_SIZE = (int) 1.5 * MB;
private static final int DISK_CACHE_SIZE = 15 * MB;
private com.nostra13.universalimageloader.core.ImageLoader imageLoader;
public UniversalImageLoader(Context context)
{
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder().cacheInMemory(true).cacheOnDisk(true).build();
File cacheDir = StorageUtils.getCacheDirectory(context);
ImageLoaderConfiguration.Builder configBuilder = new ImageLoaderConfiguration.Builder(context);
configBuilder.threadPriority(1);
if(BuildConfig.DEBUG)
{
configBuilder.writeDebugLogs();
}
configBuilder.denyCacheImageMultipleSizesInMemory();
configBuilder.defaultDisplayImageOptions(defaultOptions);
configBuilder.memoryCache(new LruMemoryCache(MEMORY_CACHE_SIZE));
try
{
configBuilder.diskCache(new LruDiskCache(cacheDir, new HashCodeFileNameGenerator(), DISK_CACHE_SIZE));
}
catch(IOException e)
{
configBuilder.diskCacheSize(DISK_CACHE_SIZE);
}
imageLoader = com.nostra13.universalimageloader.core.ImageLoader.getInstance();
imageLoader.init(configBuilder.build());
imageLoader.handleSlowNetwork(true);
}
가 [편집]을 제외하고는 내 구성 무슨 잘못 –