2016-07-28 58 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

哪些錯誤與我的配置的logcat的? –

+0

@ ZahidNaqvi不知道,直到logcat出現。 –

+0

我沒有得到這個在開發時。我正在考慮這個面料。 –