2011-03-23 79 views
1

所以我使用Bitmap.createScaledBitmap來縮放和顯示在我從我的android應用程序本地保存的imageview文件中。看起來它是完美的工作,但現在看來,由於某種原因,只有某些文件可以縮放,其他文件可能會崩潰。當我嘗試使用更大的文件或可能的解決方案時,它會破壞代碼並導致應用程序崩潰。有沒有這樣或那樣的方法來避免它?或甚至更好的方式來擴展文件?任何建議都會很棒,如果您需要澄清,請告訴我。使用Bitmap.createScaledBitmap並不總是工作

回答

2

每當您尋求幫助時,您都應該發佈伴隨崩潰的堆棧跟蹤。但這聽起來像是你的內存不足了。請確保在加載另一個圖像之前調用當前圖像上的Bitmap.recycle()。

+0

我明白,如果它在第一張打開的圖像上崩潰,意味着什麼? – Peter 2011-03-23 19:03:20

+0

你的第一張圖片太大了。您可以使用不同的分辨率對其進行解碼(因此不必加載原始文件,然後使用BitmapFactory.Options的inSampleSize字段在其上調用createScaledBitmap())。將其設置爲2爲一半的比例,三爲第三比例等。針對您的特定情況和問題試用選項類。 – LeffelMania 2011-03-23 21:22:45

+0

所以如果質量不是一個巨大的問題,我應該加載所有的原始圖像說1/3比例,然後與他們一起工作,所以我不必擔心用戶選擇一個圖像太大? – Peter 2011-03-23 21:25:44