2012-10-12 42 views
0

我的應用程序有網格視圖包含大量的圖像,並從Android文檔我明白,Android改善可繪製的垃圾收集和內存相比,非常低的os低於3.0。爲什麼在4.0.4版本中我仍然有很多內存不足 - 除了這個版本,我不會在3.0之後獲得單個OOM內存不足錯誤在Galaxy s3 4.0.4

回答

1

垃圾收集器的改進並不意味着您現在可以加載位圖的空間,導致內存仍然存在有限。我建議你認真學習this後,遵循這些做法,那麼你將在任何平臺上受到保護,免受OOM攻擊。希望這可以幫助。

+0

謝謝葉戈爾:我已經提到該文件,並且除了圖像縮放之外,因爲我正在使用電子商務應用程序。 App中有很多圖像,並在web服務分頁的幫助下顯示。如果我加載很多圖像,它是否仍然可以重現3.0以上? – Bytecode

+0

@SudeepSR,對不起,不明白你的問題。 – Egor

+0

這是OOM仍然在Android操作系統,如果我們加載更多的圖像,它從來沒有100%可解決? – Bytecode

0

如果你正在處理大量的圖像,最好使用惰性圖像加載。
Here是在GridView中延遲加載圖片的示例。

+0

感謝您的努力:應用程序當前正在延遲加載 – Bytecode

+0

如果您仍然在使用OutOfMemory異常,那麼在某處您沒有正確使用它。如果可能,可以發佈代碼嗎? –

+0

Lazy Loader/GridView適配器? :網格視圖項目可能達到300以上 – Bytecode

2

如果您僅使用可繪製文件夾作爲UI。你必須改變你的規則。使用drawable-xhdpi,drawable-hdpi drawable-mdpi bla bla bla。三星Galaxy S3使用drawable-xhdpi文件夾。如果您只使用可繪製的文件夾進行圖像處理,您將獲得frag frag內存警告,並且應用程序會給您提供內存不足的錯誤。使用內存管理工具,改變你的方法來在android上創建用戶界面。不同的屏幕大小不同的可繪製的文件夾的主題