当前位置:操作系统 > 安卓/Android >>

Android开发者指南(7) —— App Install Location

前言

  本章内容为开发者指南(Dev Guide)/Developing/Appendix/App Install Location,版本为Android3.0 r1,翻译来自"madgoat",欢迎访问它的博客:"http://madgoat.cn",再次感谢"madgoat" !期待你一起参与翻译Android的相关资料,联系我over140@gmail.com。

原文

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

 

正文

    自API Level 8开始,你可以允许你的应用安装至扩展存储(例如,SD卡)。这是一个可选功能,你可以在你应用的manifest属性android:installLocation里设定。如果你没设定这个属性,那么你的应用将被安装到内置存储,而且将不允许移动到扩展存储上。

         为了允许系统可以在扩展存储上安装你的应用,修改你的manifest文件,在 <manifest> 元素中包含android:installLocation 属性,设置其值为"preferExternal"或"auto"。例如:

               <manifest xmlns:android=http://schemas.android.com/apk/res/android

android:installLocation="preferExternal"

    ... >

         如果你定义了 "preferExternal",意味着你要求你的应用安装至扩展存储,但是系统不能保证应用肯定会安装至扩展存储。如果扩展存储没有空间了,系统将把应用安装到内置存储。用户可以在两个位置之间移动你的应用。

         如果你定义了 "auto",表示你的应用可能会安装在扩展存储,但是对安装位置没有特别的偏好。系统将基于很多因素决定你的应用安装到哪里。用户同样可以将应用在两个位置之间移动。

         当你的应用安装在扩展存储上:

 * 只要扩展存储已经挂载在设备上,对应用的性能都没有影响。

 * .apk 文件保存在扩展存储上,但是所有的用户私有数据,数据库,优化过的 .dex 文件和释放的原生代码都保存在内置存储空间上。

 * 存储你应用的唯一容器是被一个随机生成的KEY加密存放的,仅仅能被最初安装的设备进行解密操作。因此,安装在SD卡上的应用仅仅针对一个设备可以工作。

 * 用户可以通过系统设置移动你的应用到内置存储。

警告:当用户启用USB大容量存储以共享文件给计算机或者通过系统设置卸载SD卡,外置存储从设备卸载并且所有运行在外置存储的应用立刻都被结束。

        

向后兼容Backward Compatibility

         将你的应用安装至扩展存储的功能是运行API Level 8(Android 2.2)及以上版本的设备才有效的。使用API Level 8 之前的版本编译的已存在的应用,将一直安装在内置存储,并且无法移动至扩展存储(即使设备上运行的是API Level 8版本的系统)。然而,如果你的应用计划支持低于8的API Level,你可以选择针对API Level 8及更高版本支持此特性,并且继续保持与低于API level 8的设备兼容。

         为了允许安装在扩展存储并且保持与API Level 8或更低版本兼容:

 * 在 html"><manifest>元素中,包含值为"auto"或 "preferExternal"

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,