2013-05-31 145 views
0

我已经在市场上有一个应用程序该应用程序不是一个游戏只是一个丰富的图片和统计信息的应用程序,我收到评论有人指出,应用程序的大小为20Mb存储在“不公平的内部存储器中,并且其中一些应存储在SD卡上”。Android,不知道是否应该存储到内部存储或外部存储

现在我仍然试图学习有关android编码的一切,但这是一个大问题,所以我应该将所有这些图像移动到外部存储器,如SD卡? 20Mb到内部存储器太多了还是我应该注意什么时候才知道什么时候存储到外部?我查看了存储文档here,它声明用户可以修改它们何时启用USB大容量存储器以在计算机上传输文件,那么如果用户修改/删除/更改任何内容,这会对我的应用程序造成风险吗?

+0

如果你是这个应用程序的用户,你会喜欢它做什么?你通常会耗尽第一个内部或外部存储空间? –

+1

@PeterLawrey好的电话是这样思考的,我有时甚至忘记像用户一样思考开发者。所以基本上我应该检查一下,看用户是否有外部存储器,以及他们是否将其保存在那里,如果不继续保存在内部存储器中? – JoeyL

+0

它的APK大小是20MB还是应用下载20MB的数据? –

回答

3

您正在寻找installLocation。只需在清单中更改一件事,并让用户选择安装APK的位置即可。

注:默认情况下,你的应用程序将在内部存储安装并不能在外部存储,除非你定义了这个属性可以是“自动”或“preferExternal”进行安装。

+0

圣洁的废物,这是一个伟大的发现。这使生活更轻松。这1行代码打败了我所想要的所有检查。谢谢Macie。 – JoeyL

+0

@JoeyL问题是你还没有说APK的大。所有其他答案似乎回答了您使用'openFileOutput'而不是外部存储的情况。 –

+0

对不起,我不仅要学习编码语言,而且还要在出现问题时如何解答我的问题。 – JoeyL

1

如果应用程序需要这些文件,那么不要将它们放在外部存储器中,因为这将允许用户删除它们。

如果他们可以被删除/改变,那么你应该把它们放在外部存储。

您也可以将两者混合使用,以便在不牺牲必要组件的情况下缩小尺寸。

3

这与带有两个硬盘驱动器,引导磁盘和第二个磁盘的计算机没有区别。

如果您可以使用第二个磁盘/外部存储进行存储,那么通常情况下会更好,因为内部存储具有许多用途并且通常先填满。

一般来说,最好将它留给用户来决定,但我会默认存储在外部存储上。

3

对于较旧的手机,它一个大问题,相信我。最好的选择是让用户在某种配置对话框中选择他想使用的存储器。