2016-06-07 55 views
0

我有一个包含4个大尺寸图像750x1023,750x2265,750x1898和750x1112如何防止Outofmemory错误加载大图像?

我加载图像与毕加索

Picasso.with(getContext()).load(resIds[i]).fit().centerCrop().into(mainImageview.get(i)); 

滚动型,但它带来的内存不足的错误。 它对问题:

  1. 不是所有的图像加载
  2. 应用收盘

其重要的是不要使图像变小 - 它可以使UI uncorrect。

解决这个问题的方法是什么?身份证需要,发布程序代码 - 只是说一下。

谢谢!

经过所有的操作,问题仍然没有解决..如果我缩放图像与BitmapFactory,它给“位图太大bu上传到纹理”,我写什么大小。如果与毕加索比例,它裁剪我的形象我曾经做过什么,应用程序memmory足够两个,三个切换页面...我累死了,因为这个问题...帮助

+0

可能重复[加载图像到Bitmap对象时出现内存不足问题](http://stackoverflow.com/questions/477572/strange-out-of-memory -issue-while-loading-an-image-to-a-bitmap-object) – NoChinDeluxe

+0

您是否正在从中加载图片XML甚至在毕加索加载它们之前? –

+0

@ cricket_007首先是的,但在从XML中删除它们之后。没有什么变化 –

回答

0

这个问题我相信是与gl最大尺寸类似于2048x2048,并且错误将无法应用纹理或其他效果毕加索有很多缩放图像的方法,但如果您必须使用全尺寸图像,则可以将图像裁剪为4个或更多部分并组装它像谷歌地图检查此"Bitmap too large to be uploaded into a texture"

+0

谢谢,我会尝试这种方式! –

+0

经过所有操作,问题仍然没有解决。如果我使用BitmapFactory缩放图像,它会给出“位图太大而无法上传到纹理中”,这是我写的大小。如果使用毕加索的比例尺,它会裁剪我的图像 我做了什么,应用程序的内存足够两个,三个切换页面...我因为这个问题而筋疲力尽......帮助 –