在Android中,如何在多个活动之间共享图片缓存?

3
我正在开发一个Android应用程序,但不知道该如何实现一个2级图片缓存,以便在单个应用程序中的多个活动之间共享。
例如:
应用程序有3个活动(A,B和C),假设A调用B,B调用C,C调用A。每个活动都显示从Web下载的图像,并且我正在使用asynctask在每个活动中下载和显示图像 - 很容易。现在,我想添加一个图像缓存,以避免重复下载同一图像。
现在,每个活动都会启动一个简单的asynctask的新实例来下载图像并适当地更新视图。显然,很容易更新基本的asynctask以在继续下载之前检查图像缓存,并在下载完成后更新缓存,但我困在如何/何处创建和初始化缓存上。有任何想法将不胜感激。

为什么不把图片放在SD卡上? - androidworkz
1个回答

2
您可以将以下内容添加到您应用的清单文件中:

application android:name ="MyApplication" (...)

然后创建一个名为"MyApplication"的类。您可以在多个活动中使用该类。在进行异步调用之前,请检查是否已经有适当的图像可供使用。如果有,您可以使用“缓存”的图像,否则可以获取新的图像。您可以尝试以下代码(在此示例中获取一些随机字符串):

ArrayList myStrings = ((MyApplication) this.getApplication()).getRandomStrings();

希望这有所帮助。 :)
编辑:不要忘记按照以下方式创建您的"MyApplication":

public class MyApplication extends Application


谢谢。关键是扩展应用程序任务。 - tsr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接