我正在尝试确定将图像作为即时消息的一部分发送到应用程序的位置。这些消息可在对话历史记录视图中查看,有时在原始收据后的相当长的一段时间内。您可以想象任何其他具有类似要求的用例,因此这里的问题是“存储不确定数量和大小的图像的最佳实践”
假设
这留下了这个问题的两个部分:
1。外部存储
外观存储似乎是首选,因为它可能比其他任何东西都有更多空间:
文档说明如下:
...使用getExternalCacheDir()来 打开一个表示您所在的外部存储目录的文件 应保存缓存文件。如果用户卸载了您的应用程序, 这些文件将被自动删除。然而,在生命中 您的应用程序,您应该管理这些缓存文件并删除它们 为了保留文件空间不需要。
与内部存储缓存不同,没有关于Android自动回收外部存储空间的声明。 “缓存”这个词让我很紧张。
2。内部存储
显然,并非每个设备都有外部存储设备,因此需要为内部存储设置。
getCacheDir()
检索的内部缓存与使用openFileOutput(FILENAME, Context.MODE_PRIVATE)
创建的文件之间唯一的实际区别是Android可能会在压力下删除缓存目录中的文件对于存储空间?答案 0 :(得分:1)
我还没有读过代码,而是javadoc explicitely says
平台不监控外部存储空间,因此不会自动删除这些文件。请注意,您应该管理将用于这些空间的最大空间,就像使用getCacheDir()一样。
我不知道。
这只是一种设施方法,AFAIK