为什么 Android 上有这么多指向内部存储的链接?

问题描述 投票:0回答:1

所以环顾四周后,我发现了/sdcard、/storage/self/primary、/storage/emulated/0、/storage/sdcard0。截至目前,我没有 root 访问权限,所以我无法检查,但据我记得 /data 中也有一个。所以我想知道为什么同一个地方有这么多符号链接?他们之间有什么区别吗?

android filesystems
1个回答
0
投票

确实如此,还有许多其他条目似乎针对 Android 设备的相同内部存储。

类型:

  1. /sdcard
    :这是 Android 10 之前的 Android 版本中早期使用的旧路径,用于引用设备的主要外部存储,即 SD 卡。

  2. /storage/self/primary
    :它是在 Android 10(API 级别 29)中添加的,作为访问设备主内部存储的“Android”路径的推荐替代方案。

  3. /storage/emulated/0
    :这是一个副本,充当文件真实位置的链接。这是访问许多应用程序内部存储的常见方法。通常,它指向
    /storage/self/primary

为什么有这么多链接?

  • 向后兼容性:Micro SD 卡支持与仍使用此路径的遗留程序的兼容性。

  • 标准化:可靠的路径 –

    /storage/self/primary
    – 为所有设备和 Android 版本提供通用命名。

  • 抽象:因此,

    /storage/emulated/0
    是一个抽象层,这将使系统能够在后台更改存储路径,但不会影响依赖于该路径的应用程序。

/data
目录对应用程序及其数据和设置进行分区,但没有用户文件。它通常不用于一般文件存储,大多数应用程序可能无法访问它。

注:

  • 在大多数情况下,在现代 Android 设备上(Android 10 及更高版本),您可以使用

    /storage/self/primary
    /storage/emulated/0
    访问内部存储。

  • 旧的

    /sdcard
    只是为了保持向后兼容性。

  • 这些路径通常指向相同的目的地,并且可以激励未来的升级。

  • /data
    是一个与内部路径具有不同用途的目录(用于存储应用程序数据)。

如果您了解 Android 上的各种路径及其意图,您就可以确定哪条路径适合您的程序的要求。


参考链接:

https://developer.android.com/training/data-storage
https://medium.com/@babul.sust.cse/understanding-of-android-storage-system-17b6134f873
https://source.android.com/docs/core/storage
https://www.freecodecamp.org/news/an-overview-of-android-storage/
© www.soinside.com 2019 - 2024. All rights reserved.