加載我正在從我的後端圖像基座64的格式,對其進行解碼,並在網格視圖加載圖像。它第一次正常工作,但當我點擊「顯示更多圖像」按鈕,它給了我錯誤位圖大小超過虛擬機預算。當我點擊該按鈕時,我以base64格式獲取圖像,並且我再次設置網格視圖的適配器以刷新視圖。我閱讀了許多與這個問題有關的答案,但他們都是從drawables讀取圖像,而不是以base64格式接收。我的代碼來獲取圖片來自的base64解碼,以位圖如下:位圖大小超過VM預算時圖像從內容的base64
public static void getImages(JSONObject jobj){
try{
JSONArray jarr = jobj.getJSONArray("images");
Log.v("array size",""+jarr.length());
for(int i = 0; i < jarr.length(); i++){
String encodedContent = jarr.get(i).toString();
byte[] decodedContent = Base64.decode(encodedContent);
Bitmap bmp = BitmapFactory.decodeByteArray(decodedContent, 0, decodedContent.length);
images.add(bmp); //Static array list to save the bitmap images
}
}catch(JSONException e){
e.getMessage();
}
下一次點擊「顯示更多圖片」按鈕將其添加到圖像的ArrayList後的圖像進來了。任何人都可以幫助我建議如何刪除我得到的這個錯誤?
縮小位圖 – Raghunandan
@Raghunandan感謝您的建議,但我如何才能瞭解理想的尺寸以縮小圖像,以便它可以在所有的android設備上使用?我聽起來可能聽起來很愚蠢,但我在android中使用圖像的時候是個不錯的選擇。 – fastLearner