我正在開發一個應用程序,該應用程序顯示我公司的分步過程。每個步驟包含一個圖像,每個活動顯示8到12個圖像。我現在正在運行java.lang.outofmemory。它還列出了一個android.view.InflateException:Binary xml錯誤。我已將圖像大小調整爲360dpi,並且只能在再次出現錯誤之前再拍幾張圖片。我也嘗試增加堆大小,這並沒有改變結果。有另一種方法我應該這樣做嗎?非常感謝。導致錯誤的活動中存在多個圖像
回答
這裏沒有什麼魔法,我猜imageview是以完全argb模式渲染的,所以8位* 4 *像素數。好多啊!
您的活動如何顯示圖像?
如果他們在列表中,請務必使用回收。 http://developer.android.com/training/improving-layouts/smooth-scrolling.html 您感興趣的ViewHolder
如果您使用的是ViewPager和刷卡左/右,一定要摧毀你的片段,而你是刷卡,這樣就可以在內存中只有3幅影像(1顯示,旁邊有2個)。
如果它沒有這些,也許你將不得不重構你的佈局:(
最後但並非最不重要的,確保您的位圖調整您的具體的屏幕尺寸,如前所說,畢加索爲.fit()提供了一個方便的方法,它將等待imageview被測量,然後調整下載的位圖大小並將其放在imageview中。您甚至不必擔心主線程上的網絡連接,如何精彩!
Picasso.with(getActivity())
.load(imageUrl)
.fit()
.into(imageView);
我已經將它們添加到滾動顯示屏 –
好吧,讓你的滾動視圖(和它下面的線性我猜)不關心內存問題。您應該重新考慮您的佈局,以保持良好和未來的發展。 – Mostrapotski
這是編碼方法很重要的地方。你如何實現它可能會幫助我們指出內存泄漏。
但是,一般的做法(可能不是很好) 加載所有位圖在一個常量的類。 (只是一次) 無限地提及。
- 1. 導致內存錯誤的動畫需要幾個大圖像
- 2. 在滾動視圖中包含一個新的圖像視圖導致錯誤
- 3. 在Android中顯示圖像會導致內存不足錯誤
- 4. 出現內存不足錯誤,一個活動中的圖像太多
- 5. 下載AsyncTask線程中的多重圖像會導致錯誤
- 6. 將多個圖像上傳到服務器會導致錯誤
- 7. 從圖庫中獲取圖像導致沒有找到活動錯誤活動resulte
- 8. Robotium活動泄漏導致其他測試錯誤活動
- 9. AngularJS:指令導致另一個指令激活,導致錯誤
- 10. 有兩個片段的活動會導致錯誤
- 11. 由於圖像緩存導致的Android OOM錯誤?
- 12. 存儲JsonElement在ArrayList中導致錯誤
- 13. 預先存在的圖像上的繪圖線導致顏色錯誤 - PHP
- 14. JSON導致內存錯誤
- 15. alertdialog導致內存錯誤
- 16. 在存儲過程中出現錯誤導致的錯誤
- 17. 從一個活動的片段中加載圖像FileNotFoundException錯誤
- 18. Magento由於爲圖像分配內存導致的致命錯誤
- 19. 多個SLF4J綁定導致錯誤?
- 20. C++ OpenCV CVCalibrateCamera2導致多個錯誤
- 21. 擺動ImageIcon導致錯誤,不使圖像出現
- 22. JS圖像交換中的多個圖像,mouseout錯誤圖像
- 23. 圖像按鈕Xml和活動錯誤
- 24. 在Javascript中導致錯誤行爲的多個Async系列
- 25. VC++在圖片框內顯示圖像會導致錯誤
- 26. NotificationCompat中的BigTextStyle導致圖形錯誤
- 27. CSS3Pie導致啓動錯誤
- 28. ng動畫導致錯誤
- 29. 在Eclipse中刪除文件導致每個圖像都是錯誤的
- 30. 點擊小部件錯誤導致主要活動啓動
通過這首先,它會幫助你 - http://developer.android.com/training/displaying-bitmaps/load-bitmap.html –