14

其实我想知道当我们将应用程序移动到sd卡时涉及到什么样的项目?我试图搜索,但所有答案都指向“如何将应用程序移动到 sd”,但实际上我只想知道哪些项目已移动到 sd 以及剩下哪些项目。当我将应用程序移动到 sd 时,我可以看到仍有一些内存(在内部存储器中)。我只是好奇剩下的东西是什么?应用程序实际移动到哪里(在 sd 卡的哪个部分)?

4

1 回答 1

19

好问题!

让我用一个示例包来解释你说“com.example.app”

现在,当第一次安装应用程序时,将按名称创建一个新文件夹

/data/com.example.app

这里面将包含所有应用程序的私有数据。

同样,APK 本身包含在

/data/app/com.example.app-1.apk

现在,当我们将应用程序移动到外部存储时,会发生以下情况。

  • 不会被移动到 /mnt/sdcard/ 分区
  • Android 将在 /mnt/asec 分区下创建一个名为/mnt/asec/com.example.app. 您可以使用任何文件管理器应用程序访问此路径,因为它具有rw权限
  • 它将创建 libs 目录的副本(如果有)并将所有文件和数据库移至此处。
  • 它还会将 APK 从“/data/app/com.example.app-1.apk”复制到/mnt/asec/com.example.app/com.example.app-1.apk

这样,/data分区空间将被节省下来,并且可以被其他应用程序重复使用。当手机/数据存储空间不足时,这是一个很好的技巧,可以将应用程序移动到外部存储。

于 2012-10-24T07:12:32.213 回答