问题标签 [android-lru-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
179 浏览

android - 带有 AsyncTask 图像问题的 Android ListView

我有一个 ListView,它显示了电话簿中的某些联系人。我用这个https://stackoverflow.com/a/10235381/1809507用作缓存类并使用 AsyncTask。

当联系人没有照片时,我使用默认照片。我在 XML 中设置了默认值。当我使用以下方法设置联系人照片时,仅当它存在并且我滚动列表视图时,那些没有照片的联系人开始获取其他联系人照片。如果我从retrieveContactPhoto 方法中获取默认照片为Bitmap 而不是null 并分配给imageview,它会很好用,但我认为当有很多联系人没有照片时这不是一个好的解决方案,因为我会多次缓存同一张默认照片。还是我错了?

0 投票
0 回答
567 浏览

android - android Lrucache:无法检索缓存的位图

我能够将位图插入LruCache但无法检索先前解码的图像。我的数据库中有 100 多张图片。当我对它进行解码时,我的 gc mmemory 正在增加。所以我正在实现它以重用解码后的图像。

获取最大可用 VM 内存,超过此数量将引发 OutOfMemory 异常。以千字节为单位存储,因为 LruCacheint在其构造函数中采用了一个。

0 投票
0 回答
572 浏览

android - 使用 LruCache 的首选方式:大单件还是许多小件?

在缓存所有图像的应用程序中,是否更喜欢在全局范围内使用大LruCache作为单例,还是更喜欢LruCache在应用程序的不同位置使用几个较小的?

0 投票
3 回答
2810 浏览

android - Android LRUCache 检索

我在 Android 中实现了一个标准的 LRUCache 来存储对象。每个键都是与存储的对象关联的唯一 ObjectId。我的问题是从缓存中检索对象的唯一方法是通过 ObjectId(无迭代器)。实现 getAll() 方法的最佳方法是什么?另一种选择是将所有 ObjectIds 存储在某个列表中,这样我就可以遍历列表并获取所有 Objects - 但是保存所有 ObjectIds 的最佳方式是什么?

谢谢!

0 投票
2 回答
1471 浏览

android - 位图回收不适用于 android 4.2 或以上 4.2?

我正在使用下面的 LRU 类来管理位图,使用我正在创建和删除位图的这两个类将它们放在 viewpager 视图上。相同的代码在 4.2 版本以下运行,但是当我在 4.2 或更高版本上加载我的应用程序时,堆大小随着我切换页面而不断增加。问题是我能够在 4.2 或更高版本中回收位图,但堆大小却不是在增加。是他们在 4.2 或更高版本中释放堆大小的任何其他方式。请帮我解决这个问题


0 投票
1 回答
678 浏览

android - 使用缓存存储位图

我正在使用 LruCache 来存储位图。

这是我运行以存储位图的异步任务。

这是我的缓存实现:

在我的清单中,我还有:

问题是在我的 ListView 中......当我向下滚动时......图像从 url 重新加载并且代码到达这一行:

什么可能导致这个问题?

0 投票
1 回答
307 浏览

data-structures - LRU 缓存包含不应删除的对象

我在我的 Android 应用程序中使用 LRU 缓存(LruCache来自的类)。android.util这通常工作正常。

现在我对这个 LRU 缓存有一个特殊要求:我希望某些对象永远不会被删除。解释情况:我有一个永远不应删除的对象数组(名为mymetadata对象),我还有许多其他对象(名为dynamicdata对象)应使用 LRU 规则删除。我想将mymetadata对象存储在 LRU 缓存中,因为对象数组也可以增长,并且使用 LRU 缓存有助于避免内存不足。

是否有任何技巧可以保证mymetadata对象永远不会从 LRU 缓存中删除?还是我应该简单地从数组中访问一个对象,以便将其标记为上次使用?

0 投票
3 回答
1371 浏览

android - 安卓:LruCache 返回 null

我是 android 中 LruCache 的新手,我想在这个缓存上放置和获取位图图像 (JPEG) 以防止内存错误和内存异常,所以我不明白为什么我的代码不起作用。这是我的代码:

这是我的 LruCache 代码:

我不知道为什么不工作:(谢谢

0 投票
1 回答
5968 浏览

android - 如何清除 Androids LRUCache

在 Google Developer 的 API 中有一个 trimToSize() 方法,我找不到/使用。如何清除或减小 LRU 缓存的大小?

0 投票
0 回答
298 浏览

android - Android LRU 缓存未缓存在姜饼上

我使用 LRU 缓存来缓存位图图像。我使用典型的代码来实现这些,它在冰淇淋三明治上运行良好。

但是,缓存过程不适用于 Gingerbread。

这是我的代码:

此代码在冰淇淋三明治上运行良好。例如,当第一次缓存发生时,输出为:

但是,在 Gingerbread 上的结果不同:(缓存大小没有改变)

此项目未缓存。

我试图扩展缓存内存大小,但结果没有改变。

如何解决这个问题呢?