问题标签 [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.
android - Android - 带有 LruCache 的图像 GridView 库 - 图像不断变化
我根据 LruCache 使用示例编写了这个适配器类。我遇到的问题如下:
如果我快速滑动并且 GridView 向下或向上滚动很远(位图尚未缓存的位置),则使用错误的位图绘制图像,而不是保持空白。当 GridView 仍然(不滚动)时,图像会不断变化,直到最终加载正确的图像,然后一切都应该是这样。我看不出我的代码有什么问题......关于如何避免这种情况的任何想法?
android - JakeWharton's DiskLruCache automatically getting cleared
Im using Picasso and okhttp to download and cache images onto the disk. Im using the below code snippet to set a cache of 10MB to the okhttp client and using it for Picasso.
This is working perfectly most of the time caching and reloading images even when offline , but the problem is that sometimes it just clears the image cache completely.
I am checking the size of the image cache just to be sure, and it has never crossed 2 MB.
Is there any other reason why my cache is getting cleared?
android - 如何禁用 ActiveAndroid LruCache
有谁知道如何禁用 LruCache 中缓存对象模型的 ActiveAndroid 默认行为?
我想完全禁用我的项目。我已经能够使用Cache.clear(); 手动清除缓存;但每次我需要清除它时,我都需要继续这样做。我只想通过配置一起禁用所有功能。
android - 毕加索第一次加载没有缓存,但第二次没问题
我实现了一个例程,将数据从 json 保存到数据库中,之后如果用户离线,他可以看到所有数据。但毕加索在第一次运行后不加载图像。但是当我在在线模式下运行该应用程序两次时,毕加索可以在离线模式下从缓存中加载图像。(它应该在第一次运行时缓存图像,但它不起作用)
感谢任何建议
android - NetworkImageView 缓存调整大小的图像而不是原始图像
我一直在涉足 Android 开发领域,并且一直在使用 Volley 和 LruCache 来组合一个基本的新闻阅读器应用程序。
我有一个回收站视图,其中每个单元格都包含来自 Volley 库的 NetworkImageView。我可以点击那个单元格,它会打开另一个活动,这是一种详细视图,在单元格中显示更大版本的图像。在 NetworkImageView 上使用 setImageURL 方法时,我使用相同的 URL,但对我来说很明显 NetworkImageView 将图像的大小附加到它用于在 LruCache 中缓存图像的键上。这意味着即使 URL 相同,两个不同大小的 NetworkImageView 也会创建两个网络调用,而不是一个网络调用和一个缓存调用。
在某些方面这是有道理的,为什么要缓存比您需要的更大的图像?但是,我想知道是否可以缓存原始图像而不是调整大小的图像?
我希望这是有道理的,谢谢,大卫。
android - FFmpeg 将搜索结果输出到 Android LruCache
亲爱的 StackOverflower 同胞,
在我的 Android 应用程序中,我正在尝试使用ffmpeg-android-java从视频中快速检索一帧以显示在ImageView
. 问题是使用典型ffmpeg
的 's -ss
seek 命令将需要将输出写入内存,我认为这是对性能的重大影响:
ffmpeg -ss 00:23:00 -i Mononoke.Hime.mkv -frames:v 1 out1.jpg
像上面这样的典型命令执行大约需要 700 - 1200 毫秒。因此,与其写入内存,不如将其写入内存,LruCache
以期获得更好的性能。
问题是ffmpeg-android-java
执行ffmpeg
命令的包装器,因此我不知道如何正确提供LruCache
命令的地址。
下面是我的代码片段:
android - 离线时 Android 缓存只读 REST API 响应
我正在考虑两种方法
- 将 JSON 响应缓存为 JSON 文件
- 使用 Reservoir缓存 Java POJO(JSON 响应已经使用 Retrofit反序列化)。
数据描述:
这里我要缓存的数据是一个电子商务网站的 20 种产品的列表。它们不是复杂的对象,也没有嵌套,因为这里使用了 jsonapi.org 规范。使用 Retrofit,我已经可以获得 20 个 Product POJO,其中 Product 是具有少于 10 个属性的 Java 模型类。
哪种方法更好,为什么?
我不考虑 SQLite 数据库,因为我认为它更昂贵并且只适用于
- 需要数据完整性
- 有写操作,例如购物车
- 数据量大、关系复杂
android - Android LruCache 缓存大小参数
我正在尝试遵循有关 LruCache 使用的 2 年历史的 android 教程,到目前为止我在 Google 上搜索过的一些示例具有相同的方法,即传递一个转换为 KiB 的值(int)。
然而,从谷歌的文档中,传递的 int 值似乎被转换为字节(来自 MiB): https ://developer.android.com/reference/android/util/LruCache.html
我想知道哪个是正确的计量单位。任何答案将不胜感激..
android - LRU Cache:整个应用程序只初始化一个?
在我的应用程序中,我有不同的列表视图,其中包含一些缩略图。今天我开始重构,我想实现 LRU 缓存。我正在遵循 Android 指南,但我想知道是否更好地为整个应用程序初始化一个 LRU 缓存,或者更好地为每个列表视图初始化 LRU 缓存。我害怕内存不足。因此,我有以下我自己无法回答的问题: - 一个用单例模式初始化的 LRU 缓存是个好主意吗?- 如果内存不足,是否会导致以下LRU Cache初始化的outOfMemory情况?
如果内存不足,LRU缓存会自动释放吗?我想知道当我使用 LRU 缓存时应用程序是否会出现释放内存的问题(应用程序因内存不足而崩溃?)
整个应用程序只有一个 LRU 缓存,会不会有问题?
- 整个应用程序有多个 LRU 缓存,它们会是一个问题吗?
android - LruCache 是否受 Android 应用程序内存空间的限制?
我正在查看文档并试图了解 LruCache 是否正在与我的应用程序的其余部分竞争堆资源,或者它是否实际上使用了某种精心设计的磁盘交换机制。
我问的原因是我想为缓存分配大量内存(比如 gig),以便如果设备失去其 Internet 连接,大量图像数据可以在本地保存。但是,如果 LruCache 受到应用程序堆内存分配大小的限制,这显然是行不通的。
我希望有人可以向我指出有关此功能如何工作的更详细的文档,以及此 * 不是处理此需求的正确功能,如果我需要自己滚动,或者是否有一个 Android 本机磁盘交换内存类我忽略了可能应该与 LruCache 结合使用(或完全单独使用?)