Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
auto和preferExternal instal location Android清单之间的差异_Android_Location_Installation_Manifest - Fatal编程技术网

auto和preferExternal instal location Android清单之间的差异

auto和preferExternal instal location Android清单之间的差异,android,location,installation,manifest,Android,Location,Installation,Manifest,android清单中的auto和preferExternal安装位置之间有什么区别?这两个选项都可以在外部内存上安装应用程序。这是一件大事吗?设置哪个更好?如果您声明首选外部,则您请求将应用程序安装在外部存储器上,但系统不保证将应用程序安装在外部存储器上。如果外部存储器已满,系统将在内部存储器上安装它 如果您声明auto,则表明您的应用程序可能安装在外部存储器上,但您没有安装位置的首选项。系统将根据几个因素决定在何处安装应用程序。用户还可以在两个位置之间移动应用程序 参考文献 如Android

android清单中的
auto
preferExternal
安装位置之间有什么区别?这两个选项都可以在外部内存上安装应用程序。这是一件大事吗?设置哪个更好?

如果您声明
首选外部
,则您请求将应用程序安装在外部存储器上,但系统不保证将应用程序安装在外部存储器上。如果外部存储器已满,系统将在内部存储器上安装它

如果您声明
auto
,则表明您的应用程序可能安装在外部存储器上,但您没有安装位置的首选项。系统将根据几个因素决定在何处安装应用程序。用户还可以在两个位置之间移动应用程序

参考文献

如Android Api指南所述

从API级别8开始,您可以允许将应用程序安装在外部存储器(例如,设备的SD卡)上。这是一个可选功能,您可以使用android:installLocation manifest属性为应用程序声明。如果不声明此属性,则应用程序将仅安装在内部存储器上,不能移动到外部存储器。

我认为最好声明
android:installLocation
,因为

  • 某些设备的内部存储空间有限
  • 用户可以选择在内部和外部存储之间移动应用程序
属性
android:installLocation
可以有以下可能的值

“internalOnly”:应用程序必须仅安装在内部设备存储器上。如果设置了此选项,则应用程序将永远不会安装在外部存储器上。如果内部存储已满,则系统不会安装该应用程序。如果不定义
android:installLocation
,这也是默认行为

“自动”:应用程序可以安装在外部存储器上,但默认情况下,系统将在内部存储器上安装应用程序。如果内部存储已满,则系统会将其安装到外部存储上。安装后,用户可以通过系统设置将应用程序移动到内部或外部存储

“首选外部”:应用程序首选安装在外部存储器(SD卡)上。无法保证系统会满足此请求。如果外部媒体不可用或已满,或者应用程序使用前向锁定机制(外部存储不支持),则应用程序可能安装在内部存储上。安装后,用户可以通过系统设置将应用程序移动到内部或外部存储。

请参见此处: