【问题标题】:Android, Not sure if I should store to the internal storage or external storageAndroid,不确定我应该存储到内部存储还是外部存储
【发布时间】:2013-05-31 15:26:28
【问题描述】:

我已经在市场上推出了一个应用程序该应用程序不是一个游戏,它只是一个包含大量图片和统计数据的信息应用程序,我收到了来自某人的评论,称该应用程序的大小为 20Mb,存储在“内部存储不公平,其中一些应该存储在 SD 卡上。”

现在我仍在努力学习有关 android 编码的所有知识,但这有什么大不了的,所以我应该将所有这些图像移动到 SD 卡等外部存储设备中吗? 20Mb 到内部存储是否太多,或者我应该注意什么 Mb 数才能知道何时存储到外部?我查看了存储文档here,它指出用户可以在启用 USB 大容量存储以在计算机上传输文件时进行修改,那么如果用户修改/删除/更改任何内容,这会对我的应用程序造成风险吗?

【问题讨论】:

  • 如果你是这个应用的用户,你希望它做什么?您通常先用完哪个,内部存储还是外部存储?
  • @PeterLawrey 是的,以这种方式思考是个好主意,即使作为开发人员,我有时也会忘记像用户一样思考。所以基本上我应该检查一下用户是否有外部存储,如果他们确实将其保存在那里,如果没有继续保存在内部存储上?
  • 是 APK 大小 20MB 还是应用下载的数据 20MB?
  • @MaciejGórski APK 为 20MB
  • @JoeyL 这就是我希望我的应用程序做的事情。 ;)

标签: java android storage android-sdcard


【解决方案1】:

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

注意:默认情况下,您的应用程序将安装在内部存储上,不能安装在外部存储上,除非您将此属性定义为“auto”或“preferExternal”。 p>

【讨论】:

  • 天哪,这是一个很棒的发现。这让生活更轻松。这 1 行代码击败了我正在考虑的所有检查。谢谢你,Macie。
  • @JoeyL 问题是你还没有说 APK 很大。所有其他答案似乎都在回答您使用 openFileOutput 而不是外部存储的情况。
  • 是的,很抱歉,我不仅要学习编码语言,还要在遇到问题时如何表达我的问题。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

    相信我,对于较旧的手机,它很重要的。最好的选择是让用户在某种配置对话框中选择他想使用的存储。

    【讨论】:

      【解决方案4】:

      如果应用需要这些文件,则不要将它们放在外部存储中,因为这样会让用户删除它们。

      如果可以删除/更改它们,那么您应该将它们放在外部存储中。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-07
        • 1970-01-01
        • 1970-01-01
        • 2011-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多