我正在一個Android應用程序中獲取我的數據,其中包括從數據庫中存儲爲blob的圖像,然後一旦我在應用程序中獲取這些數據,我將所有這些數據轉換爲位圖,並將數據存儲在ArrayList供以後使用。當爲二十打圖像做這件事時,大約需要8秒;我怎樣才能更快地創建位圖。圖像高度不同。在for循環中,我將圖像字符串轉換爲一個字節數組,然後使用BitmapFactory.decodeByteArray。我也使用options.inSampleSize = 4.如何在Android中更快地創建位圖?
0
A
回答
0
從數據庫中讀取圖像並存儲到本地緩存中,然後從緩存中讀取圖像,這是顯示位圖的有效方式。
請參考以下鏈接:
https://developer.android.com/training/displaying-bitmaps/cache-bitmap.html
+0
只要我創建位圖,我將它們添加到視圖。問題是創建每個位圖所需的時間。 – user3705359
相關問題
- 1. Drools - 更快地創建KnowlegeBuilder?
- 2. 如何在android項目中更快地構建gradle?
- 3. 如何在Android應用程序中更快地上傳圖片?
- 4. 在Android中創建更多空間位圖Android
- 5. 如何在Android中創建圓角地圖視圖?
- 6. 在Android中創建視頻流位圖
- 7. 如何在本地代碼中使用RGBA緩衝區創建Android位圖?
- 8. 如何在用戶位置創建地圖中心
- 9. 在Android中創建地圖。錯誤mainactivity.java
- 10. 在intellij中創建android地圖
- 11. 如何在android中創建Widget中的Google地圖
- 12. 如何在創建大型地圖時快速保留畫布?
- 13. 如何在Appcelerator Titanium中創建地圖
- 14. 如何在Matlab中創建地圖?
- 15. 如何在swig中創建地圖?
- 16. 如何在JSF中創建地圖
- 17. 如何在Android中保存運行時創建的位圖?
- 18. 如何在Android中創建一個大的位圖?
- 19. Android - 如何從一個大的位圖創建小的位圖?
- 20. 更快地繪製縮放的位圖
- 21. 如何從現有位圖創建更大的位圖
- 22. Android Camera SurfaceView創建位圖
- 23. 更快速地創建測試方法
- 24. 如何從android中的SD卡圖像創建位圖?
- 25. 如何從Android中的圖像文件創建位圖
- 26. 如何在Android中無限制地創建圖像循環?
- 27. 如何使用Lua在android中創建谷歌地圖?
- 28. 如何顯示在android谷歌地圖中創建的行?
- 29. 如何在Android中使用路由創建離線地圖?
- 30. 如何在Android中創建圖形
如果你在那樣的行解碼大量的圖片,你可能需要找到一種新的方式來做事。這將需要大量的內存並導致OOM問題。特別是如果你「存儲在ArrayList中供以後使用」。如果您現在或未來幾秒內沒有使用它們,則不應該加載它們。 –
我正在用這些項目填充一個列表,所以我需要在當時加載所有這些項目。有沒有更好的方法來做到這一點? – user3705359
延遲加載。保存稍後加載項目所需的信息,並僅在需要時加載它。位圖很大。它們在內存中佔用4 *寬*高字節。保留幾個小的不是什麼大不了的,但保留所有這些都是麻煩。延遲加載會稍後爲您節省大量的OOM錯誤,並修復您的perf錯誤(因爲您只會在需要時分散加載並執行加載)。最好與高速緩存結合使用(LRU高速緩存可以具有最大大小,因此您不會在圖像上使用超過預定義的最大內存量)。 –