auto和preferExternal instal location Android清单之间的差异
android清单中的auto和preferExternal instal location Android清单之间的差异,android,location,installation,manifest,Android,Location,Installation,Manifest,android清单中的auto和preferExternal安装位置之间有什么区别?这两个选项都可以在外部内存上安装应用程序。这是一件大事吗?设置哪个更好?如果您声明首选外部,则您请求将应用程序安装在外部存储器上,但系统不保证将应用程序安装在外部存储器上。如果外部存储器已满,系统将在内部存储器上安装它 如果您声明auto,则表明您的应用程序可能安装在外部存储器上,但您没有安装位置的首选项。系统将根据几个因素决定在何处安装应用程序。用户还可以在两个位置之间移动应用程序 参考文献 如Android
auto
和preferExternal
安装位置之间有什么区别?这两个选项都可以在外部内存上安装应用程序。这是一件大事吗?设置哪个更好?如果您声明首选外部
,则您请求将应用程序安装在外部存储器上,但系统不保证将应用程序安装在外部存储器上。如果外部存储器已满,系统将在内部存储器上安装它
如果您声明auto
,则表明您的应用程序可能安装在外部存储器上,但您没有安装位置的首选项。系统将根据几个因素决定在何处安装应用程序。用户还可以在两个位置之间移动应用程序
参考文献
如Android Api指南所述
从API级别8开始,您可以允许将应用程序安装在外部存储器(例如,设备的SD卡)上。这是一个可选功能,您可以使用android:installLocation manifest属性为应用程序声明。如果不声明此属性,则应用程序将仅安装在内部存储器上,不能移动到外部存储器。
我认为最好声明android:installLocation
,因为
- 某些设备的内部存储空间有限
- 用户可以选择在内部和外部存储之间移动应用程序
android:installLocation
可以有以下可能的值
“internalOnly”:应用程序必须仅安装在内部设备存储器上。如果设置了此选项,则应用程序将永远不会安装在外部存储器上。如果内部存储已满,则系统不会安装该应用程序。如果不定义android:installLocation
,这也是默认行为
“自动”:应用程序可以安装在外部存储器上,但默认情况下,系统将在内部存储器上安装应用程序。如果内部存储已满,则系统会将其安装到外部存储上。安装后,用户可以通过系统设置将应用程序移动到内部或外部存储
“首选外部”:应用程序首选安装在外部存储器(SD卡)上。无法保证系统会满足此请求。如果外部媒体不可用或已满,或者应用程序使用前向锁定机制(外部存储不支持),则应用程序可能安装在内部存储上。安装后,用户可以通过系统设置将应用程序移动到内部或外部存储。请参见此处: