2016-06-07 57 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縮放圖像,它會給出「位圖太大而無法上傳到紋理中」,這是我寫的大小。如果使用畢加索的比例尺,它會裁剪我的圖像 我做了什麼,應用程序的內存足夠兩個,三個切換頁面...我因爲這個問題而筋疲力盡......幫助 –