我正在开发一个Android应用程序,并且无法找到实现2级图像缓存的最佳方法,该缓存可以在单个应用程序中的多个活动之间共享。
示例:
应用程序有3个活动(A,B和C),为了参数,我们可以说A调用B和B调用C和C调用A.每个活动显示从Web下载的图像,我正在使用asynctask下载和显示每个活动中的图像 - 很容易。现在我想添加图像缓存以避免多次下载同一图像。
现在,每个活动都会启动一个简单的asynctask的新实例,该实例会下载图像并相应地更新视图。显然,在继续下载之前更新基本的asynctask来检查图像缓存很容易,并且一旦下载完成就更新缓存但我仍然坚持如何/在何处创建和初始化缓存。任何想法都将不胜感激。
答案 0 :(得分:2)
您可以将此添加到应用的清单中:
应用程序android:name =“MyApplication”(...)
然后,您可以创建名为“MyApplication”的类。然后,您可以在您的活动中使用该课程。在进行异步调用之前,检查是否已使用正确的映像。如果你有,你使用“缓存”,如果没有,你可以得到一个新的。你可以尝试这样的东西(在这种情况下得到一些随机字符串):
ArrayList myStrings = ((我的应用程序) this.getApplication())getRandomStrings();
希望这对你有所帮助。 :)
编辑:不要忘记创建这样的“MyApplication”:
公共类MyApplication扩展 应用