在SD卡上运行问题

时间:2015-04-30 20:25:44

标签: android sd-card android-sdcard

我最近通过指定修改了我在SD卡上运行的所有应用程序 机器人:的installLocation =" preferExternal"在Manifest.xml中。他们在我所有的测试手机上都测试得很好。

对于允许此操作的应用来说,这似乎是一个明智的选择。但我注意到我手机上的大多数应用程序都不允许在SD卡上运行。 Google Chrome,Google地球,Dropbox,Google Gmail,GolfNow等。实际上,所有Google应用都无法在SD卡上运行。

我试图找出原因。在SD卡上运行的缺点是什么? 谢谢, 迪安

2 个答案:

答案 0 :(得分:0)

  

在SD卡上运行的缺点是什么

取决于应用程序。如果你的应用程序监听广播,使用报警管理器等,那么它必须不在SD卡上才能工作。如果您的应用没有使用其中任何一种,那么它与开发人员的立场没有任何区别。

答案 1 :(得分:0)

这实际上是一个广泛的问题,您真的必须要求这些应用的开发人员获得明确的答案。

一些想法......

  • 传统上已知的外部存储通常由插入SD卡提供。当然,用户可以卸下和/或物理移除SD卡,这意味着在重新插入之前,安装在其上的应用程序都不会有效。
  • 某些类型的RAM芯片的访问时间比其他类型快得多。设备上的内部RAM可能更适合处理器/计算密集型应用程序,而不是访问SD卡,这些SD卡在RAM芯片级别的访问时间往往较慢,而且还必须通过外部总线。
  • 任务关键型应用程序(取决于用户及其应该是什么的定义)需要永久访问(请参阅我的第一点)。如果用户希望以较短的固定时间间隔检索他们的电子邮件,则他们的电子邮件应用程序将无法取消,因为外部存储已被卸除/删除。
  • 某些应用程序要求存在已知问题,当应用程序安装在SD卡上时会导致不可预测的结果。一个典型示例是任何注册BroadcastReceiver以接收BOOT_COMPLETED操作的应用。启动完成 BEFORE 设备的各个部分启动并运行 - 这包括安装SD卡。在这种情况下,广播已发送,但SD卡上的应用程序未运行且无法接收。
  • 随着时间的推移,所谓的内部'和'外部'存储定义变得越来越模糊 - 与几年前相比,许多Android设备都拥有大量的内部设备。内存使得通过安装或移动应用程序来释放空间变得不那么重要了。存储。有些设备甚至无法添加外部SD卡和“外部”设备。存储是从内部'内部的分区模拟的。存储
  • 另一点(脸颊上的舌头) - 也许你提到的应用程序的开发者是自大狂,只是坚持使用宝贵的内部'存储只是因为他们可以。 ;)