簡體   English   中英

最有效的存儲位圖信息的方式

[英]Most Efficient Way to Store Bitmap Info Android

當前,我正在使用WeakHashMap來存儲我的BitMap並將其鏈接到我的密鑰,但是我注意到它開始使用大量的RAM。 是否有更好的解決方案來緩存BitMap,直到我需要它們為止? 在應用程序關閉后,不太可能需要該圖像,因此實際上並不需要長期解決方案。

謝謝!

我需要將它們保留在內存中,以防用戶向后滑動到以前的視圖以節省帶寬並提高ViewPager的響應速度

FragmentStateAdapter正是用於此目的。 還要結合使用setOffscreenPageLimit()setRetainInstance()

在運行時內存中存儲Bitmap對象不是一個好主意,遲早會導致OutOfMemoryError

使用LruCache 開發者網站上有很多在線指南

在應用程序關閉后,不太可能需要該圖像,因此實際上並不需要長期解決方案。

將圖像存儲在緩存中不會有問題,因為即使您關閉了應用程序或除非清除了設置的應用程序數據,系統也不會從緩存中清除圖像。 對於圖像下載,您可以使用圖像庫,例如:圖像加載器: https : //github.com/nostra13/Android-Universal-Image-Loader它為您提供了將圖像保存在緩存中的選項。

您也可以使用排球庫。 但是在這種情況下,您必須實現自己的代碼以進行緩存存儲。 http://developer.android.com/training/volley/index.html

否則,您也可以實現自己的緩存代碼,在其中可以使用內存磁盤進行緩存。 http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html#disk-cache

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM