问题标签 [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.
java - Lru Cache listView 图片问题
我的 ListView 在我的活动中有图像,在我添加 LRU 缓存之前效果很好。当我第一次加载(如果我不滚动它)同时加载图像时,第一个元素会在我加载的所有图像之间更改其图像。
我的 LRU 缓存看起来像
用法:
这就是我的 BaseAdapter getView 的样子
android - 无法将项目添加到 lrucache
我正在尝试使用 LRUcache 来缓存我的应用程序从 Web 下载的一些图像。我已经阅读了来自 android 开发人员的教程,但我无法在我的 LRUcache 中添加任何内容。这是我的代码,
然后从我的适配器类的 getview() 我调用 myloader,传递一个 imageview 和一个图像 url
java - Android LRU 缓存未显示正确的位图?
我正在制作一个 android 应用程序,其中有带有缩略图的新闻文章。这些缩略图从网络加载并存储在 LruCache 中,其中 URL 作为键,位图作为值。
在适配器的 getView() 方法中,我调用 getThumbnail() 检查缓存(必要时从网络加载)然后显示缩略图。
和
ImageLoadingUtils 从网络加载,完成后将生成的位图放入 ImageView。
问题是当我向下滚动时缩略图会在同一个 ListView 中重复。
当我向下滚动然后向上滚动时,这些文章不再具有正确的缩略图。它非常混乱。
任何人都可以发现问题吗?十分感谢。
android - Memory-Leaks Image-Gallery Android - 其他应用程序如何处理它?
我正在尝试实现一个图像库,它应该显示〜 5-15 个较小的图像和一个“当前选择的”更大的图像。
它看起来像:http ://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/06/galleryDemo.png
我查了很多资源,现在决定使用位图缓存(lru-cache)(感谢这个论坛的人!)。
我目前没有内存泄漏,但我对这个解决方案不满意,因为每次滚动时,都会从缓存中删除一些图像,我必须重新加载它们......所以用户必须等待重新加载图像......每次滚动到另一边时等待 0.5 - 1 秒真的很烦人......
我是否有可能在获取图像时出错?目前,我将为单选图像使用 320x480 分辨率,为底部列表使用 64x64 分辨率...
真的很奇怪,不管图像的分辨率有多大,lru-cache 仍然会删除一些图像,即使我只选择 64x64 图像......我可能做错了什么lru缓存?
以下代码显示了我的实现:
和类位图缓存:
非常感谢你 :(
更多代码:BitmapWorkerTask:
android - LruCache 不工作
你好,这里是代码。我成功地从 URL 获取位图(日志说位图不为空,我可以轻松地显示它)。然后我试图将它放入 LruCache 并取回它,但它返回 null。(日志说 newBitmap 为空)。我的错误在哪里?请告诉我。Android 4.1.2 缓存大小 8192 Kb。
android - Android DiskLruCache 支持的版本?
我有一个简单的问题。我正在开发一个从远程服务器(通过http)加载图像的应用程序。我正在寻找一种缓存这些照片的好方法,并且我已经阅读了有关 LruCache 和 DiskLruCache 的信息。我对第二个非常感兴趣,因为它提供了诸如,如果有人打电话给您并且应用程序关闭,此缓存将允许您在不连接任何地方的情况下取回照片,而 LruCache 仅在应用程序打开时才会这样做。所以这是我的问题:Android 2.3.X 手机能否与 DiskLruCache 配合使用?我希望我的应用程序也可以在“旧”手机上运行,而不仅仅是 Android 3.0 上的手机。谢谢
android - developer.android.com/training bitmapfun 项目
我在我的应用程序中使用了 bitmapfun项目(gridview),在测试这个时我发现了一个问题。重现此问题的步骤如下:
- 打开 wifi -> 启动应用程序 -> 下载图像(它工作正常)。
- 关闭应用程序(后退按钮),停用 wifi -> 激活数据网络 -> 重新启动应用程序(仍然可以正常工作)。
- 在下载所有图像之前,我关闭应用程序(后退按钮)-> 停用数据网络 -> 激活 wifi。在这一步之后,当我重新启动应用程序时,图像不会下载。
在 logcat 中,我看到所有图像都在 imageWorker 的 cancelPotentialWork() 中被取消,并且它们永远不会启动。我的猜测是之前的 bitmapworkerTask(负责下载)发生了一些事情,并且与新任务发生了冲突。在我的应用程序中,当按下后退按钮时,我会清除所有缓存。但这不是问题的原因,因为我也在原始 bitmapfun 中测试了相同的场景,问题也出现了!我该如何解决这个问题?我还把项目的多线程asynctask改成了单线程!有没有办法清除所有 imageview 引用并取消所有正在运行的任务?
对不起我的英语并且没有提供有关 bitmapfun 项目性质的更多信息,但它会非常扩展我的问题!问我任何问题!
编辑:为了重现问题,每次使用菜单选项离开活动时,最好清除缓存。此外,如果您按照步骤 1-3 执行一次,也不确定是否会出现问题。也许你必须重复它们!
Edit2(附加帮助):当我毫无问题地开始活动时,第一张图像的 logcat 如下:
当我开始有问题的活动时,logcat是这样的:
为什么在第二种情况下,当 cancelPotentialWork 被调用时 doInBackground 永远不会启动?根据代码序列,这是应该执行的下一部分!至少有人知道我应该在哪里搜索错误吗?
android - 将 LRUCache 对象存储在 Application 单例中是个好主意吗?
我有一个 LRUCache,用于缓存缩略图和其他此类小位图。目前,我在主要活动中使用它,但是,我也想在其他活动中使用它。这让我想知道将这个 LRUCache 对象简单地存储在我的自定义应用程序单例(它扩展了 Application)中并解决在其他活动中访问缓存的问题是否是一个好主意。我担心的原因是,据我了解,如果应用程序进程被杀死 - 当应用程序在后台运行时间过长时很可能会发生这种情况 - 应用程序对象和因此缓存将得到垃圾集。如果我错了,请纠正我,并帮助我更好地理解这个问题/提供解决这个问题的方法。
android - Add objects to LRUCache
I want to cache objects of custom claas, which implements serializable using LRUCache in android. It is possible? If yes, how can I proceed to do the same?
android - SimpleDiskCache inputStream 错误数字格式
我正在使用 SimpleDiskCache 代码(github链接)将一些视频文件缓存到我正在工作的 Android 应用程序的磁盘上。这是我将视频文件缓存的方法:
这是我要从缓存中检索视频文件的代码:
唯一的问题是我得到一个 IOExption: read failed: EBADF (Bad file number)。这是堆栈跟踪:
有谁知道我做错了什么?谢谢!