如何检查android的LruCache中的可用内存?

如何检查android的LruCache中的可用内存?,android,caching,memory,xamarin.android,out-of-memory,Android,Caching,Memory,Xamarin.android,Out Of Memory,我想使用内存缓存(LruCache)而不是DiskLruCache来缓存图像。我对android中的图像缓存有一些疑问 如何检查Lrucache中的可用内存大小 当缓存请求跨越Lrucache中的可用内存时会发生什么情况 LruCache对象是否保留在dalvik堆内存中?或者缓存完成后保存在堆内存中?回答第一个问题: private LruCache<String, Bitmap> mMemoryCache; //... ActivityManager am

我想使用内存缓存(LruCache)而不是DiskLruCache来缓存图像。我对android中的图像缓存有一些疑问

如何检查Lrucache中的可用内存大小

当缓存请求跨越Lrucache中的可用内存时会发生什么情况


LruCache对象是否保留在dalvik堆内存中?或者缓存完成后保存在堆内存中?

回答第一个问题:

    private LruCache<String, Bitmap> mMemoryCache;
    //...
    ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    int availMemInBytes = am.getMemoryClass() * 1024 * 1024;
私有LruCache-mMemoryCache;
//...
ActivityManager am=(ActivityManager)getSystemService(Context.ACTIVITY_服务);
int availMemInBytes=am.getMemoryClass()*1024*1024;
对第二个问题的答复:

最近使用最少的对象将从列表中删除。将移除一个或多个对象,直到有足够的空间放置新对象

关于第三个问题,我想我迟到了,因为Dalvik不再用于Android>4.4.2。也许这段视频可以帮助我们了解新艺术会发生什么


我希望这会有所帮助。

您想缓存位图(ImageView)吗?嗨,blaze,是的,我想缓存位图。正如我前面所说,我不了解LruCache。但是,您可以使用毕加索或通用图像加载器库来自动处理cachingCheck out-volley的代码,它们有MemoryCache的实现,DiskLruCache()当没有空间用于另一个位图缓存时,LruCache会清除内存吗?