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

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

想要将应用程序安装到外部存储上,需要保证以下条件都满足:

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

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


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

如果你的应用中存在在以下情况下,应用程序不推荐安装到外部存储上:

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

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

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

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

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

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


详情请参考:http://developer.android.com/guide/topics/data/install-location.html


加入我们的或微信公众账号请查看:Ryan's zone公众账号及


更多相关文章

  1. Android 6.0替换原系统Launcher傻瓜教程
  2. android ndk开发中常用的系统自带网络命令
  3. Android4.1输入子系统框架介绍和性能分析
  4. Android 使用系统限制的权限的apk应安装到 /system/app 目录下
  5. 【小米招聘]】Android系统软件测试工程师
  6. Android进阶:实现android系统自带查看照片动画效果 类似Gallery手

随机推荐

  1. Google官方 详解 Android(安卓)处理运行
  2. 阿里HR: 你会 Android(安卓)实现侧滑菜单-
  3. android javaScript数据传递
  4. Android添加自定义公共so库
  5. android调用系统相机拍摄多张照片
  6. VMware9.0安装ubuntu-12.04
  7. Android(安卓)相见恨晚的命名规约
  8. android 源码之英语单词记忆程序源码
  9. 我翻过的Android图书
  10. ARM NEON 指令