Android中App安装位置详解

Android应用能够安装在本机自带存储,同时也能够安装到外部存储(SD卡)。自从API 8后也就是Android2.2后,咱们能使APK安装到外部存储上。这是一个可选的特性,在工程的manifest文件中能够进行配置: android

<manifest xmlns:android="http://schemas.android.com/apk/res/android"     android:installLocation="preferExternal"     ... >
       如上,若是声明为preferExternal,则指定APK安装到外部存储上,可是系统不保证必定能安装到外部存储上,因此叫preferExternal,例如当外部存储空间已经满了,这时系统会将应用程序安装到内部存储上。用户可以在内部存储与外部存储之间移动应用程序。还有一种声明选择,那就是“auto”,若是将属性值声明为这个,安装位置将由系统去决定。

想要将应用程序安装到外部存储上,须要保证如下条件都知足: 工具

1.在manifest文件中指定android:installLocation属性值为“preferExternal”或“auto"; spa

2.确保当前系统API级别为8或以上,android:minSdkVersion值必须是8以上(Android 2.2); code


       须要特别注意的是,用户链接手机到PC并开启大容量存储模式时,也就是读取外部存储卡内容时,全部安装到外部存储的应用程序将会被系统所有杀掉! xml

若是你的应用中存在在如下状况下,应用程序不推荐安装到外部存储上: get

1.应用程序中有运行后台Service io

2.注册了通知服务例如AlarmManager class

3.第三方输入法,若是将第三方输入法安装到外部存储上,若是当前外部存储被挂起,则第三方输入法会失效并切回系统输入法 后台

4.墙纸主题应用,外部存储被挂起时,会切换为系统默认墙纸或主题 配置

5.App桌面组件工具,外部存储被挂起是,会将Widgets从桌面移除

6.注册了开机广播的应用,由于系统是先发出开机广播而后再加载外部存储设备的,这里有个顺序问题

相关文章
相关标签/搜索