Android Ion - 在RecyclerView.Adapter中加载图像(gif);的OutOfMemoryError

时间:2015-08-12 08:44:22

标签: android out-of-memory animated-gif ion

我使用Ion库在RecyclerView中加载一组GIF - 每行一个GIF。 我使用以下代码加载gif:

@Override
public void onBindViewHolder(MyViewHolder vh, int i) {
    MyObject myObj = data.get(i);

    Ion.with(vh.imageViewGif)
            .error(R.mipmap.ic_launcher)
            .animateGif(AnimateGifMode.ANIMATE)
            .load(myObj.getGIF_URL());
}

碰巧如果我继续滚动,我会得到以下异常(OutOfMemoryError):

  

java.lang.OutOfMemoryError               在android.graphics.Bitmap.nativeCreate(本机方法)               在android.graphics.Bitmap.createBitmap(Bitmap.java:896)               在android.graphics.Bitmap.createBitmap(Bitmap.java:920)               在com.koushikdutta.ion.gif.GifDecoder.setPixels(GifDecoder.java:257)               在com.koushikdutta.ion.gif.GifDecoder.readImage(GifDecoder.java:504)               在com.koushikdutta.ion.gif.GifDecoder.nextFrame(GifDecoder.java:137)               在com.koushikdutta.ion.IonDrawable $ IonGifDecoder $ 1.run(IonDrawable.java:190)               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)               at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:587)               在java.lang.Thread.run(Thread.java:841)

我如何解决这个OutOfMemoryError?需要Ion上的任何配置来处理内存和缓存吗?

0 个答案:

没有答案