Android 滑动图像加载程序中的OutOfMemoryError

Android 滑动图像加载程序中的OutOfMemoryError,android,Android,如何解决滑动图像加载中的OutOfMemoryError 原因:java.lang.OutOfMemoryError:未能分配5137932 使用923120空闲字节和901KB的字节分配,直到OOMSent on:2:54 乱扔 throwablejava.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:未能分配5137932字节 分配923120个可用字节和901KB,直到OOMat java.util.concu

如何解决滑动图像加载中的OutOfMemoryError

原因:java.lang.OutOfMemoryError:未能分配5137932 使用923120空闲字节和901KB的字节分配,直到OOMSent on:2:54 乱扔 throwablejava.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:未能分配5137932字节 分配923120个可用字节和901KB,直到OOMat java.util.concurrent.FutureTask.report(FutureTask.java:94)位于 java.util.concurrent.FutureTask.get(FutureTask.java:164)位于

com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor.afterExecute(FifoPriorityThreadPoolExecutor.java:96)位于 位于的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1121) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)位于 运行(Thread.java:818) com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(FifoPriorityThreadPoolExecutor.java:118)导致 by:java.lang.OutOfMemoryError:分配5137932字节失败 分配923120个可用字节和901KB,直到OOMat dalvik.system.VMRuntime.newNonMovableArray(本机方法)位于 android.graphics.BitmapFactory.NativeDecodeseam(本机方法)位于 decodeStreamInternal(BitmapFactory.java:882)位于 decodeStream(BitmapFactory.java:858)位于 com.bumptech.glide.load.resource.bitmap.Downsampler.decodeStream(Downsampler.java:329)位于 com.bumptech.glide.load.resource.bitmap.Downsampler.downsamplelWithSize(Downsampler.java:220)位于 com.bumptech.glide.load.resource.bitmap.Downsampler.decode(Downsampler.java:153)位于 com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder.decode(StreamBitmapDecoder.java:50)位于 com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder.decode(StreamBitmapDecoder.java:19)位于 com.bumptech.glide.load.resource.bitmap.ImageVideoBitmapDecoder.decode(ImageVideoBitmapDecoder.java:39)位于 com.bumptech.glide.load.resource.bitmap.ImageVideoBitmapDecoder.decode(ImageVideoBitmapDecoder.java:20)位于 com.bumptech.glide.load.resource.gifBitBitMapWrapperResourceDecoder.decodeBitmapWrapper(GifBitmapWrapperResourceDe

用于加载图像的滑动图像Loder代码

Glide.with(activity)
            .load(items.get(position).getCharacterImageId(activity.getResources()))                   .placeholder(items.get(position).getColor(activity.getResources()))
                .dontAnimate()
                .thumbnail(0.7f)
                .into(img_letter);
在清单文件中使用这一行,如:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

您可以使用android:largeHeap=“true”请求更大的堆大小,但这在任何预蜂窝设备上都不起作用。在2.3之前的设备上,您可以使用VMRuntime类,但在姜饼和更高版本上不起作用。

您是否使用emulator进行测试?如果没有您的代码,我们真的无法帮助您。我使用了真实的设备进行测试。您能向我们展示代码吗导出图像大小。添加
。缩略图(0.4f)
。Glide将显示原始图像大小的40%。我还使用了安卓:largeHeap=“true”。我使用了Glide,因此这里没有BitmapFactory选项,
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;
mBitmapInsurance = BitmapFactory.decodeFile(mCurrentPhotoPath,options);