【问题标题】:How cach images with Jake Wharton & Support Library?如何使用 Jake Wharton & Support Library 缓存图像?
【发布时间】:2013-04-06 22:06:00
【问题描述】:

我正在尝试关注 http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html 它谈论 DiskCache 的部分,但我在该代码中发现了很多问题。我修复了很多,但有一个我不知道该怎么做。就是这个:

mDiskLruCache.put(key, bitmap);

还有这个

mDiskLruCache.get(key);

那些方法不存在。我正在添加 Jake Wharton 和 Support Library v4 的 .jar,但它们似乎都不起作用。拜托,谁能告诉我这是怎么回事??

我还在寻找如何使用 https://github.com/fhucho/simple-disk-cache 捕获图像,但我不知道该怎么做。

我们将不胜感激。

编辑 1

我正在使用 Budius 推荐的产品,但我遇到了问题。我正在创建 onCreate

DiskLruImageCache dlic=new DiskLruImageCache(getApplicationContext(),"bckgCache", CACHESIZE, CompressFormat.PNG, 70);

所以我认为,每次打开应用程序时,我都会覆盖缓存,这很糟糕,因为我需要将一些位图从一种用途存储到另一种用途。有没有办法检查缓存是否已经存在所以我不再创建它?

编辑 2

我打开了另一个帖子问这个问题,所以我们不会将两者混为一谈。 How check if a DiskLruCache already exists? (Android)

不能将任何评论标记为答案,但同样有帮助

【问题讨论】:

  • 我之前使用过这个 SO 帖子中的代码,效果很好:stackoverflow.com/questions/10185898/…
  • 感谢您的回复。以前看过,没试过。据我所知,它只做 get/put 文件吗?我的意思是,我有自己的线程,可以从 url 下载图像,还需要吗?
  • 是的。该代码和 Jakes 库在您调用它们的线程中执行所有操作。因此,请确保调用 UI 的所有内容。
  • 好的,我要试试那个,我明天告诉你。非常感谢
  • 更正:因此请确保将所有内容关闭(远离) UI 线程。

标签: android image caching


【解决方案1】:

https://github.com/JakeWharton/DiskLruCache/blob/master/src/main/java/com/jakewharton/disklrucache/DiskLruCache.java

查看源代码,open 方法会检查缓存是否已经存在并在可能的情况下返回它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-26
    • 1970-01-01
    • 2014-09-24
    • 2017-09-13
    • 2020-08-16
    • 2016-12-08
    • 1970-01-01
    相关资源
    最近更新 更多