Java Android,不确定我应该存储到内部存储还是外部存储

Java Android,不确定我应该存储到内部存储还是外部存储,java,android,storage,android-sdcard,Java,Android,Storage,Android Sdcard,我已经有一个应用程序在市场上了。这个应用程序不是一个游戏,只是一个信息丰富的应用程序,有很多图片和数据。我收到一条评论,说这个应用程序的大小是20Mb,存储在“内部存储上,这是不公平的,其中一些应该存储在SD卡上。” 现在我仍在努力学习android编码的所有知识,但这是否是一个大问题,我应该将所有这些图像移动到SD卡之类的外部存储中?20Mb到内部存储是否太多,或者我应该注意什么数字(Mb)才能知道何时存储到外部存储?我查看了存储文档,其中说明用户可以在启用USB大容量存储传输计算机上的文件时

我已经有一个应用程序在市场上了。这个应用程序不是一个游戏,只是一个信息丰富的应用程序,有很多图片和数据。我收到一条评论,说这个应用程序的大小是20Mb,存储在“内部存储上,这是不公平的,其中一些应该存储在SD卡上。”


现在我仍在努力学习android编码的所有知识,但这是否是一个大问题,我应该将所有这些图像移动到SD卡之类的外部存储中?20Mb到内部存储是否太多,或者我应该注意什么数字(Mb)才能知道何时存储到外部存储?我查看了存储文档,其中说明用户可以在启用USB大容量存储传输计算机上的文件时进行修改,因此,如果用户修改/删除/更改任何内容,这是否会对我的应用程序造成损坏的风险?

如果应用程序需要这些文件,请不要将它们放入外部存储,因为这样用户就可以删除它们

如果可以移除/更改,则应将其放入外部存储器中


您还可以混合使用这两种方法,以便在不牺牲必要组件的情况下减小尺寸

这与拥有两个硬盘驱动器、一个启动盘和一个第二个磁盘的计算机没有什么不同

显然,如果您可以使用第二个磁盘/外部存储进行存储,您通常会感觉更好,因为内部存储有很多用途,通常会先填满


一般来说,最好让用户自己决定,但我会默认存储在外部存储器上。

对于较旧的手机,相信我,这是一件大事。最好的选择是让用户在某种配置对话框中选择要使用的存储。

您正在寻找的。只需更改清单中的一项内容,让用户选择APK的安装位置

注意:默认情况下,您的应用程序将安装在内部存储器上,并且不能安装在外部存储器上,除非您将此属性定义为“自动”或“首选外部”


如果您是此应用程序的用户,您希望它做什么?你通常先用完哪一个,内部还是外部存储?@PeterLawrey是的,这样想很好,我有时忘记了像用户一样思考,即使是作为开发人员。因此,基本上我应该检查一下用户是否有外部存储,他们是否保存在那里,如果不继续保存在内部存储上?是APK大小为20MB还是应用程序下载的数据为20MB?@MaciejGórski APK是20MB@JoeyL这就是我希望我的应用程序能够做到的天哪,这是一个伟大的发现。这使生活更容易。这一行代码胜过了我所考虑的所有检查。谢谢你,梅西。@Joey问题是你没有说APK很大。所有其他答案似乎都在回答您使用
openFileOutput
而不是外部存储的情况。是的,很抱歉,我不仅在尝试学习编码语言,而且在遇到问题时如何表达我的问题。