2016-07-28 2 views
0

내 응용 프로그램에서 아래의 구성을 사용하고 있습니다. 우리는 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); 
} 
+0

가 [편집]을 제외하고는 내 구성 무슨 잘못 –

답변

0
public void initImageLoader(Context context) { 
    // UNIVERSAL IMAGE LOADER SETUP 

    DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder() 
      .showImageForEmptyUri(R.mipmap.save) 
      .showImageOnFail(R.mipmap.save).resetViewBeforeLoading() 
      .cacheOnDisc().imageScaleType(ImageScaleType.EXACTLY) 
      .bitmapConfig(Bitmap.Config.RGB_565) 
      .displayer(new FadeInBitmapDisplayer(300)).build(); 

    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
      getApplicationContext()) 
      .defaultDisplayImageOptions(defaultOptions) 
      .memoryCache(new WeakMemoryCache()) 
      .discCacheSize(100 * 1024 * 1024).build(); 

    ImageLoader.getInstance().init(config); 
    // END - UNIVERSAL IMAGE LOADER SETUP 
} 
+0

을 발생하는 위치의 로그 캣을 보여주십시오 무슨 잘못 구성을 알려주세요? –

+0

@ZahidNaqvi는 logcat이 나타날 때까지 알아낼 수 없습니다. –

+0

나는 개발 중에 이것을 얻지 못하고있다. 나는 이것을 직물에 붙이고있다. –