创建位图时出现OutofmemoryError

时间:2015-07-23 06:45:42

标签: android

我在onBindViewHolder的{​​{1}}中写了这个,

  

Bitmap.createBitmap(240,420,Bitmap.Config.RGB_565);

滚动我的RecycleView时出现OutofmemoryError。 缩小图像大小并不是一个好的解决方案,因为当内存不足时会发生错误。

请帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

当然,它会为您提供 OutOfMemory 例外。

你知道你的适配器调用onBind方法多少次了吗?

很多。并且每次都创建一个位图。你没有重复使用它,你不回收它,你一遍又一遍地创建它。

你更准确地使用那个Bitmap是什么?也许你甚至不需要每次都创建它。

您应该使用缓存机制,您可以使用库来显示Bitmap(如Universal Image Loader,Glide,Picasso,Volley,Lazy loading)。