我的应用需要下载并保存大量图片和mp3。 这些只对应用程序有意义,只有我的应用程序才能以有意义的方式使用它们。用户或其他应用程序将不知道如何处理它们。
我应该将它们保存在外部或内部存储器中?
我想将它们保存在内部存储器中,因为它们只对应用程序有意义,并且在删除应用程序时它们将被清除。
但是,对于旧设备,内部存储器非常有限,我认为用户将这些文件保存在这里会很麻烦。 所以,我在考虑外部内存,但我不喜欢在应用程序被删除后保留这些文件的想法。
最佳做法是什么?
谢谢。
答案 0 :(得分:4)
使用'getExternalFilesDir(String type)'
返回的路径来自文档:
“返回主外部文件系统上的目录的绝对路径(在Environment.getExternalStorageDirectory()上的某个位置),其中应用程序可以放置它拥有的持久文件。这些文件是应用程序的内部文件,而不是通常作为媒体对用户可见。
这就像getFilesDir()一样,这些文件将在卸载应用程序时被删除,但是存在一些重要的区别:
外部文件并非始终可用:如果用户将外部存储装入计算机或将其删除,它们将消失。有关存储状态的信息,请参阅环境中的API。这些文件没有强制实施安全性。例如,任何持有 WRITE_EXTERNAL_STORAGE 的应用程序都可以写入这些文件。“
所以,是的,您可以使用外部存储并在卸载应用程序时删除文件(只要您对缺乏安全性感到满意)。
答案 1 :(得分:0)
这非常接近意见问题,很可能会被关闭。
简答:使用外部存储空间。如果你用大量文件填充内部存储空间,用户会生气。
建议:为用户提供切换选项,以便将其存储在任何他们想要的位置!