我正在使用ViewFlipper顯示來自數據庫的一些圖像。 我將blob值帶到ArrayList,然後將每個字節數組轉換爲位圖。ViewFlipper:位圖大小超過虛擬機預算
然後我將這些每個位圖設置爲ViewFlipper的每個Imageview。 如果圖像的數量低於10,那麼它工作正常。但是,如果它超過10,那麼它會突然發生異常: OutOfMemoryException:位圖大小超過虛擬機預算。
當我使用inSampleSize的BitmapFactory.Options,它工作正常。但我想顯示的圖像與實際的高度和寬度。我怎樣才能無一例外地做到這一點?
我的代碼是:
ViewFlipper vfImage = (ViewFlipper)findViewById(R.id.vfImage);
for(Photos objPhotos :arPhotos)
{
byte[] btImages = null;
Bitmap bitmapImage = null;
btImages = objPhotos.getImage();
ImageView imgPhoto= new ImageView(this);
bitmapImage = BitmapFactory.decodeByteArray(btImages, 0, btImages.length);
imgPhoto.setImageBitmap(bitmapImage);
vfImage.addView(imgPhoto);
}
vfImage.startFlipping();
請幫助我.. 謝謝...
我們應該如何卸載圖像?在調用startFlipping()方法之前,我們將所有圖像添加到ViewFlipper中。我認爲使用ViewFlipper不可能再次刪除和添加圖像。 – Jomia 2011-05-12 11:11:43
你可以在你的ViewFlipper中發佈佈局代碼嗎? – Egor 2011-05-12 11:13:56
我已發佈代碼 – Jomia 2011-05-12 11:48:43