Android是否使用缓存?缓存如何工作?

时间:2017-04-18 04:07:52

标签: android

我有这个应用程序,每次打开应用程序时都会不断构建缓存

在我的应用程序中,我从我的网站加载了20张图片,但我没有将它们保存到缓存中, 应用程序会自动将此图像保存到缓存吗?如果是这样,我不认为他们从缓存加载,因为我仍然需要互联网来加载它们

Admob另一方面,如果我没有互联网并且我之前加载了测试广告,它将加载testad。

目前我有应用程序在每次启动时删除缓存,保持缓存低,但这似乎并不聪明。

我的问题是:

  • admob是否使用我的应用的缓存?

  • 知道我的应用从我的网站加载了20张图片,这张图片就是 加载会影响我的缓存大小,即使我不保存它们 以编程方式缓存?

  • 正在删除足够昂贵的缓存以拥有专用线程 那样做吗?

1 个答案:

答案 0 :(得分:1)

  1. admob是否使用我的应用的缓存?
  2. 是的,我认为Admob会广告其广告,因此加载速度更快。 Admob应该管理自己的缓存大小。我不认为你需要担心这一点。

    1. 知道我的应用从我的网站加载了20张图片,即使我没有保存,这些正在加载的图片也会影响我的缓存大小 以编程方式缓存?
    2. 除非您这样做,否则不会缓存任何图片或位图,有关详细信息,请参阅此link。我建议您使用Glide或Picasso进行图像加载,因为它们具有内存效率并且抽象出大部分复杂性。

      1. 删除缓存是否足够昂贵,以便有专门的线程来做到这一点?
      2. 我认为你不应该使用专用线程。您可以做的是覆盖onTrimMemory并继续监视内存级别。当您的内存级别为关键或低时,您可以删除缓存。有关详细信息,请查看此link。在我看来,如果你使用Glide加载你的图像,它将已经很好地处理内存并防止OutOfMemoryError。此外,加载图像要快得多。