gpt4 book ai didi

android - 在 Android 中将应用程序移动到 SD 卡时会发生什么

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:09:47 26 4
gpt4 key购买 nike

我想知道,

  1. 将应用程序从内部存储设备移动到 SD 卡时,应用程序数据/数据库文件/等会发生什么情况,反之亦然?

我还有一个安装在外部存储中的应用程序。我正在升级应用程序。该应用程序的最新版本具有限制仅在内部存储中安装的标志。

  1. 这个最新的应用程序会安装在内部存储中吗?系统会自动将应用数据从外部移动到内部,还是之前安装的数据会丢失?

最佳答案

实际上,这似乎不是一个程序问题,而是一个 Android OS问题。

首先。作为开发者,您不能选择如何安装您的应用,但自 Android 2.2 起您可以选择位置:

Existing applications that were built prior to API Level 8 will always install on the internal storage and cannot be moved to the external storage

从安卓 API 8 开始:

android:installLocation
internalOnly: Install the application on internal storage only. This will result in storage errors if the device runs low on internal storage.

preferExternal: The android system tries to install the application on external storage. If that is full, the application is installed on internal storage.

auto: Let the Android system decide the best install location for the application. The default system policy is to install the application on internal storage first. If the system is running low on storage, the application is then installed on external storage.

只要您不以编程方式定义安装/移动过程,Android 操作系统就会负责(如果可能)从内部移动到外部,反之亦然。但是作为程序员,你必须小心你正在开发的应用程序类型,以了解你是否 should or not allow this option

Warning: When the user enables USB mass storage to share files with a computer or unmounts the SD card via the system settings, the external storage is unmounted from the device and all applications running on the external storage are immediately killed.

会发生什么: 只要你不决定,我们就用简单的方式解释。应用程序的所有文件都被移动到 SD 卡,除了内部存储中的一个小指针告诉系统应用程序所在的位置。 (想象一下,如果您手动格式化您的 SD 卡,那么您的手机将不知道应用程序已经消失)但是如果您卸载它,手机将允许您访问。

其次 应用程序更新默认会尝试保留其安装位置,但应用程序开发人员可能会更改更新中的 installLocation 字段。在旧设备上安装具有此新属性的应用程序不会破坏兼容性,并且这些应用程序将仅安装在内部存储上。这意味着,只要应用程序保持相同的标识符(如果是市场应用程序,还有签名),旧数据就会被移动。

Source/Source

ADVANTAGES / DISAVANTAGES

在升级您的应用程序时保留/更新您的数据库文件/配置检查herehere

关于android - 在 Android 中将应用程序移动到 SD 卡时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31470842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com