所有的Android设备均有两个文件存储区域:"internal" 与 "external" 。之后有一些设备将"internal" 与 "external" 都做成了不可卸载的内置存储,虽然如此,但是这一整块还是从逻辑上有被划分为"internal"与"external"的。
尽管app是默认被安装到internal storage的,我们还是可以通过在程序的manifest文件中声明android:installLocation 属性来指定程序安装到external storage。当某个程序的安装文件很大且用户的external storage空间大于internal storage时,用户会倾向于将该程序安装到external storage。
从API 8开始我们就可以将app安装到外部存储(比如SD卡)。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="preferExternal"
package="com.example.frc.trainingapp">
appplication有三个参数可以设置分别是:"internalOnly","auto","preferExternal"
- 如果你声明的是“preferExternal”,app就会安装到 external storage,不过当外部存储不够的时候app还是会被安装到内部存储中的。
- 如果你声明的是"auto",系统会根据几个因素来判断是放在哪。
- “internalOnly”就不用讲了,自然是内部存储。
参考资料:https://developer.android.com/guide/topics/data/install-location.html#Compatiblity