Android移动应用到sd

Android移动应用到sd,android,Android,实际上,我想知道当我们将应用程序移动到sd卡时,涉及到哪些项目?我尝试过搜索,但所有的答案都指向“如何将应用程序移动到sd”,但实际上我只想知道哪些项目已经移动到sd,哪些项目还剩下。当我将应用程序移动到sd时,我可以看到仍有一些内存(内存中)。我只是好奇还剩下什么?应用程序实际移动到哪里(sd卡的哪个部分) 好问题 让我用一个示例包解释一下,比如“com.example.app” 现在,当第一次安装应用程序时,将根据名称创建一个新文件夹 /data/com.example.app 其中将包含所

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

好问题

让我用一个示例包解释一下,比如“com.example.app”

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

/data/com.example.app

其中将包含所有应用程序私有数据

同样,APK本身也包含在

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

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

  • 它不会被移动到/mnt/sdcard/partition
  • Android将在/mnt/asec partton下创建一个名为
    /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
分区空间将被保存,并可用于其他应用程序。这是在手机/数据存储空间不足时使用的一个很好的技巧,可以将应用程序移动到外部存储。

谢谢您的详细回答。我不明白,如果它在/mnt/asec中创建分区,它仍然使用内部内存,对吗?它甚至不进入/mnt/sdcard,为什么?从你的回答来看,似乎所有的项目都被移出了,内存中还剩下什么?因为我们仍然可以看到内部内存中仍然保留着几千字节(或多或少)的数据。Android将其存储划分为多个子分区。尝试使用adb观察/proc/分区。因此/data和/mnt属于不同的分区。所以/mnt/asec不是内存。第二,为什么不转到/mnt/sdcard/是安卓的设计选择。如果安卓操作系统愿意,它也可以去那里。此外,由于库和缓存被留下,移动后内部内存中会出现几KB的数据,还可以选择“移动到内部存储”。因此,当需要再次将内容移回时,它是一个占位符:)只需键入“mount”,您就可以看到所有装入的分区:/mnt/asec装入tmpfs,tmpfs反过来装入/mnt/sdcard/.android\u secure-请参阅:这是: