我是安卓系统的新手,对存储非常困惑。
我的Chromecast上有4GB的内部存储空间。
我插入了一个USB,并将其格式化为存储设备。
之后,我在开发人员设置中启用了force push installs to external
。
驱动器名称在设置下显示为USB Drive
,但当我加载File Commander应用程序时,它根本不显示。
当我使用Termux并查看/mnt/sdcard/Android/obb
以找到一个大的OBB时,它似乎显示在与/storage/shared/Android/obb
完全相同的目录中。
那么,内部存储和外部存储究竟在哪里呢?
如果我不能使用File Commander在它们之间移动文件,我该如何移动文件?
简而言之,内部存储用于应用程序保存其他应用程序和用户无法访问的敏感数据。然而,主外部存储是内置存储的一部分,用户和其他应用程序可以访问(读写(,但具有权限
内部存储与外部存储的区别并没有达到预期的效果。我认为最初它是指手机存储与SD驱动器,但它已经偏离了这一点。现在,内部存储是手机内存中应用程序的特殊存储。每个应用程序的大小是有限的,但你应该能够可靠地持有这个数量。没有其他应用程序可以读取此信息(除非您的手机已扎根(。
外部存储是无限的,但理论上可能不那么可靠?如果设备空间不足,您也可能无法获得任何。但它已经不可移动了,所以你可以指望它留在那里。它也是特定于你的应用程序,没有其他应用程序可以读取它。
外部存储中还有一些特殊的文件夹,任何人都可以访问。下载、照片等。这些功能类似于外部存储,但存储在那里的数据可以被其他应用程序访问。
由于其他应用程序没有访问权限,因此任何特定于应用程序的存储都不会显示在文件选择器上。除非你有根,否则规则可能会改变。或者,如果您正在使用ADB和调试。
至于实际文件夹在磁盘上的位置,这可能会根据型号而变化。你不能依赖于Android上的确切目录结构。在编写程序时,这就是使用getFilesDir和getExternalFilesDir的原因。
(如果你想知道为什么它们之间还有区别——我不知道除了惯性。它们已经消除了它们之间的每一个区别,剩下的一点区别也可以消除,以使编程更简单IMHO(。