1
我想使用內存緩存(LruCache)而不是DiskLruCache來緩存圖像。我對android中的圖像緩存有些懷疑。如何檢查android的LruCache中可用的內存?
如何檢查Lrucache中的可用內存大小?
當緩存請求超過Lrucache中的可用內存時會發生什麼?
LruCache對象是否保留在dalvik堆內存中?或緩存完成保存在堆內存中?
我想使用內存緩存(LruCache)而不是DiskLruCache來緩存圖像。我對android中的圖像緩存有些懷疑。如何檢查android的LruCache中可用的內存?
如何檢查Lrucache中的可用內存大小?
當緩存請求超過Lrucache中的可用內存時會發生什麼?
LruCache對象是否保留在dalvik堆內存中?或緩存完成保存在堆內存中?
答到的第一個問題:
private LruCache<String, Bitmap> mMemoryCache;
//...
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
int availMemInBytes = am.getMemoryClass() * 1024 * 1024;
回答第二個:
最近最少使用的對象(S)將從列表中刪除。一個或多個對象將被刪除,直到有足夠的空間放置新對象。
關於第三個問題,我覺得我遲到了,因爲Dalvik不再適用於Android> 4.4.2。也許這個視頻可以幫助找出新的藝術品會發生什麼 https://www.youtube.com/watch?list=PLOU2XLYxmsIJDPXCTt5TLDu67271PruEk&t=47&v=R5ON3iwx78M
我希望這會有所幫助。
你想緩存位圖(ImageView)嗎? –
嗨,是的,我想緩存位圖。 –
就像我之前說的,我不瞭解LruCache。但是,您可以使用自動使用緩存的Picasso或通用圖像加載程序庫 –