通用图像加载器Android:更改布局属性会导致OutOfMemoryError

通用图像加载器Android:更改布局属性会导致OutOfMemoryError,android,android-layout,universal-image-loader,Android,Android Layout,Universal Image Loader,我有多种活动。每个活动都在GridView中显示图像。每个活动作为一个独立的应用程序都可以正常工作。当我从另一个活动调用一个活动时,就会出现问题。 GridView(第二个/第三个活动)的一项是imageView: <ImageView android:id="@+id/grid_sub_item_image" android:layout_width="fill_parent" android:layout_height="wrap_co

我有多种活动。每个活动都在GridView中显示图像。每个活动作为一个独立的应用程序都可以正常工作。当我从另一个活动调用一个活动时,就会出现问题。 GridView(第二个/第三个活动)的一项是imageView:

 <ImageView
        android:id="@+id/grid_sub_item_image"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:contentDescription="@string/descr_image"
        android:scaleType="centerCrop" >
    </ImageView>
对我来说很好

但当我设置高度/宽度:wrap\u content/fill\u parent时,内存不足异常:

null
java.lang.OutOfMemoryError
android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:493)
com.nostra13.universalimageloader.core.ImageDecoder.decode(ImageDecoder.java:83)
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeWithOOMHandling(LoadAndDisplayImageTask.java:187)
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java:170)
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:126)
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:72)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
java.util.concurrent.FutureTask.run(FutureTask.java:137)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
java.lang.Thread.run(Thread.java:856)
我在每个活动中都实例化了ImageLoader。但它没有帮助。

描述了UIL如何缩小原始图像的大小以及使用了哪些参数


因此,我建议您为ImageView设置
android:maxWidth
android:maxHeight
参数以节省内存。

您是否阅读了自述文件-?图像的大小是多少?我已经通过计算设备分辨率在运行时设置了ImageView的高度和宽度。有效:)
null
java.lang.OutOfMemoryError
android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:493)
com.nostra13.universalimageloader.core.ImageDecoder.decode(ImageDecoder.java:83)
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeWithOOMHandling(LoadAndDisplayImageTask.java:187)
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java:170)
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:126)
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:72)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
java.util.concurrent.FutureTask.run(FutureTask.java:137)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
java.lang.Thread.run(Thread.java:856)