android install location

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="string"
          android:sharedUserId="string"
          android:sharedUserLabel="string resource" 
          android:versionCode="integer"
          android:versionName="string"
          android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
    . . .
</manifest>


 

android:installLocation
The default install location for the application.

The following keyword strings are accepted:

ValueDescription
"internalOnly"The application must be installed on the internal device storage only. If this is set, the application will never be installed on the external storage. If the internal storage is full, then the system will not install the application. This is also the default behavior if you do not define android:installLocation.
"auto"The application may be installed on the external storage, but the system will install the application on the internal storage by default. If the internal storage is full, then the system will install it on the external storage. Once installed, the user can move the application to either internal or external storage through the system settings.
"preferExternal"The application prefers to be installed on the external storage (SD card). There is no guarantee that the system will honor this request. The application might be installed on internal storage if the external media is unavailable or full, or if the application uses the forward-locking mechanism (not supported on external storage). Once installed, the user can move the application to either internal or external storage through the system settings.

 

从上图可以看到installLocation属性的取值有三个,用于指示程序安装策略:

1)“auto”:程序默认安装在内存,如果内存空间不足,将安装在外存中;并且之后用户可以通过系统设置随意地在内存和外存之间切换程序的安装位置;

2)“internalOnly”:程序只能安装在内存中,当内存空间不足时,程序将安装失败,当我们不指定installLocation属性时,这是我们程序的默认行为。

3)“preferExternal”:程序优先考虑安装在外存中(SD卡),但当外存空间不足或其他原因影响时,程序也可以被安装在内存中;并且之后用户可以通过系统设置随意地在内存和外存之间切换程序的安装位置;

一般要根据应用的类型来决定应用程序的installLocation取值,以下几种类型的应用不应该安装在外存中(SD卡):

Services、Alarm Services、Input Method Engines、Live Wallpapers、AppWidgets、Account Managers、Sync Adapters、Device Administrators、Broadcast Receivers listening for "boot completed"、Copy Protection。

因此,一般的程序,如果没有特殊要求的话,一般都取值为“auto”。

关于installLocation属性的更多信息可参见:

http://developer.android.com/guide/topics/manifest/manifest-element.html#install

http://developer.android.com/guide/topics/data/install-location.html

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值