- 浏览: 633193 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- 生活 (2)
- c# (37)
- 技术 (3)
- 400电话 (0)
- 400常见问题 (0)
- 400资费 (0)
- html (7)
- css (0)
- 数据库 (7)
- javascript (16)
- php (33)
- asp.net mvc2 (10)
- mysql (9)
- C# 3.0 LinQ (10)
- vs2005或vs2008 (4)
- flash and as3 (7)
- fms (1)
- dedeCMS (11)
- java (33)
- j2me (1)
- swing (1)
- c++ (1)
- jquery easyui (3)
- jquery (5)
- android (29)
- MongoDB (9)
- VtigerCRM (1)
- test (0)
- linux (30)
- nutch (2)
- SqlServer数据库 (2)
- 数据检索 (2)
- java抓取 (11)
- 乐天 (1)
- 淘宝 (1)
- Silverlight4.0 (6)
- sphinx实时索引 (5)
- ecshop (9)
- codeigniter(CI) (3)
- axure6 (1)
- 京东店铺装修教程 (2)
- xpath (1)
- joomla (2)
- bpm (1)
- Bootstrap (2)
- knockout (4)
- ecstore (4)
- css3 (1)
- 微信 (2)
- dede (0)
- soa_edi (1)
- odoo (0)
- web (1)
最新评论
-
骑着蜗牛超F1:
在ie6下报了个stack overflow at line ...
兼容ie6和ie7 的16进制码流在html中显示为图片代码(base64) -
冰之海洋:
好像少了一句代码吧? FloatingFunc.show(th ...
android 一直在最前面的浮动窗口效果 -
yanzhoupuzhang:
连接有问题!
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000) -
whatable:
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT, ...
java swing 内置浏览器打开网页显示flash图表-swt Browser应用 -
yy_owen:
我晕啊,你链接的什么内容额,我要的iis,你链接个视频什么意思 ...
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
Android系统在2.1版本之前,应用程序是只能安装到机身内存(RAM)中,这一特性从某种角度上讲,阻止了Android的发展,因为RAM的空间是有限的,所以这一特性限制了应用程序的体积,也就限制了应用程序的功能。
自从Android 2.2版本开始,Android系统引入了一个全新的功能——APP2SD,这个功能让Android系统允许将应用程序安装到SD卡上面,一方面节约出更多的RAM空间,另一方面也允许应用程序扩大自身的体积。
但是仅仅Android系统支持APP2SD,这样还是不够的,应用程序如果不经过处理,仍然会一如既往的转进RAM里。这是因为Android系统保持向后兼容的特性。那么,如果让应用程序不装入RAM,而是装入SD卡呢?这需要在应用程序的Android清单文件manifest.xml的manifest元素里加入android:installLocation属性。其值为:perferExtenal或auto。
perferExtental——意味着此应用程序安装到扩展存储(通常就是SD卡),但是系统不能保证应用肯定会安装到扩展存储。如果扩展存储没有空间或者不可用,那么系统仍然会将应用程序安装到RAM里。
auto——意味着此应用程序可能安装到扩展存储,但是对安装位置没有特别偏好,将有系统根据自身算法,参考很多因素之后决定将此应用程序安装到哪里。(http://www.my400800.cn
)
internalOnly——意味着此应用程序只能被安装到RAM。
一旦加入android:installLocation,不论其值为什么,用户都可以将应用程序在RAM和SD卡之间自由移动。当应用程序安装到SD卡后,需要注意以下几点:
1. 仅apk文件保存在SD卡上,其他所有用户的私有数据、数据库、经过优化的dex文件和释放的原生代码仍然保存在RAM上。
2. SD卡里的应用程序在进行安装时会被加密,因此安装在SD卡上的应用程序仅对安装这个应用程序的设备起效,在其他设备上将不能运行。
3. 当用户启用USB大容量存储以共享文件给计算机、或者卸载SD卡,那么所有安装在SD卡上的应用都会被立即结束。
由于安装在SD卡上的应用程序会受到SD卡状态的影响,所以为了确保应用程序的健壮性,在决定应用程序是否可以安装在SD卡上时,应该做到以下原则:
1. 有后台服务(Service)的应用程序,不应该支持APP2SD上。因为Service是前台界面不可见的,在卸载SD卡或者启用USB时,用户并无法知道该应用程序的Service是否处于活动状态。所以可能造成Service的意外终止。
2. 输入法程序不应该支持APP2SD。如果卸载SD或者启用USB,那么该输入法将被终止,并由系统默认输入法所替代。
3. 壁纸和包含桌面小工具(Widget)等常显于界面的应用程序不应该支持APP2SD。
4. AccountManager等与用户数据有关的应用程序不应该支持APP2SD,因为在SD卡正常挂载之前,程序都无法看到通过AccountManager创建的用户。
如果应用程序有Service、或支持桌面小工具等以上提到的功能时,应该尽可能避免被安装到SD卡上。一种保险的做法是指定android:installLocation的值为internalOnly。
由于APP2SD是Android 2.2版本的新特性,如果该应用程序被计划支持2.2之前的版本,做到向后兼容的话,那么需要进行以下步骤:
1. 在manifest元素里加入android:installLocation属性,并指定其值为perferExternal或者auto。
2. 指定andorid:minSdkVersion值,其值可以小于8(2.2版本之前)。
3. 更改该应用程序的build target为API Level 8,以使编译器能编译此应用程序。(必须)如果不指定build target,那么旧的Android库将无法理解android:installLocation属性,也就无法编译此应用。
实现以上三个步骤之后,那么如果此应用被安装到API Level低于8的设备上时,android:installLocation属性将被忽略。并且该应用会被安装于RAM上。
发表评论
-
andorid eclipse断点调试失灵
2013-05-09 15:06 1370在调试android程序的时候发现设置的断点怎么也进不去 ... -
android利用ZXing进行条码扫描二维码扫描源码简化
2012-01-04 09:59 2004导入项目 @Override public v ... -
Android使用ZXing类库进行条码/二维码识别
2011-12-26 11:24 1869Android使用ZXing类库进行条码/二维码识别(转) ... -
用TextView显示带图片的效果及为文本添加链接
2011-12-06 17:13 1855为了实现在TextView中显示图片,有时对图片的宽度与高度有 ... -
android listview 滚动时异步加载图片的问题
2011-12-05 15:05 2409LoadImage.java package com ... -
android apk 为程序增加代码混淆
2011-11-30 10:09 2714概述 在2.3版本的sdk中可以看到在ANDROID_S ... -
Android 程序的安装、卸载和更新
2011-11-22 11:20 1240安装程序:软件从无到有。 卸载程序:软件从有到无。 ... -
atest201111
2011-11-21 17:04 0eeeee SQLite Developer ... -
android-XXX9.png文件拉伸不失真大家注意了
2011-11-17 14:24 1800什么是9.png: 可能做过任务栏美化 ... -
Android中String资源文件的String.format方法(java)
2011-10-25 16:57 1293很多时候我们感性Google ... -
android 一直在最前面的浮动窗口效果
2011-10-21 15:51 15968今天发现一些软件可以 ... -
Android 对于ListView拖动时变黑问题解决方法
2011-10-21 13:08 1572最近用ListView显示一些String数据 ... -
Android SeekBarPreference浅聊
2011-10-19 15:37 1587由于网上有很多人问到SeekBarPreferenc ... -
在Android中创建启动界面
2011-10-14 09:06 8231、制作一张启动图片splash.png,放置在res ... -
Android 菜单(OptionMenu)大全 建立你自己的菜单
2011-10-13 09:11 734菜单是用户界面中最常见的元素之一,使用非常频繁,在Andro ... -
Android中使用Gson解析JSON数据
2011-10-12 13:33 1608在Android中可以使用Gson解析JSON数据 ... -
android解析json小例子
2011-10-12 12:53 1162今天学习了一下解析json的知识,把我学习的的一个小例子拿出来 ... -
解决android http请求带中文参数会乱码(url编码)
2011-09-29 17:23 3282今天在用android 的 URL url = new U ... -
android 选择本地图片并预览
2011-09-29 14:40 1276adv_sdcard_image_upload.xml ... -
关于 apk文件反编译的方法(dex2jar和JD-GUI)
2011-09-19 11:51 1645觉着这2个工具配合学习android太靠谱了,所以放上来给大家 ...
相关推荐
在Android应用开发中,SD卡(Secure Digital Card)的使用是一项重要的存储管理技能。随着智能手机存储需求的增长,开发者经常需要利用SD卡来扩展应用程序的存储空间,存储用户数据、媒体文件或其他大型资源。本篇...
- 可以将数据存储到应用的私有目录或SD卡上。 - **ContentProvider:** - 用于实现不同应用间的数据共享。 #### 实验八:位置服务与地图应用 **知识点概述:** 本章节重点介绍了如何集成Google Maps API以及获取...
在Android应用开发中,WebView是一个非常重要的组件,它允许开发者在应用程序内嵌入网页内容,实现类似浏览器的功能。本文将详细讲解如何在Android的WebView中加载并显示SD卡上的图片,以及如何解决自Android 4.4...
在Android开发中,SD卡(Secure Digital Card)的使用是一个重要的环节,特别是在处理大量数据、媒体文件或扩展应用程序存储时。本项目源码提供了一种实际应用中的示例,帮助开发者理解和掌握Android如何与外部存储...
- **Android SDK**:软件开发包,包含了开发Android应用所需的库文件和工具。 - **JDK**:Java开发工具包,因为Android应用主要使用Java语言编写。 #### 2. 环境配置步骤 1. **安装JDK**:确保系统已安装最新版本的...
在开发Android应用程序时,开发人员需要使用到Android SDK (软件开发工具包),并且要熟悉Java语言,因为Android应用通常是用Java编写的。开发者需要了解Android的生命周期、如何管理用户界面以及如何使用Android提供...
### Android应用开发实战知识点概述 #### 一、Android平台简介 Android是由Google公司主导开发的移动操作系统,基于Linux内核,适用于智能手机、平板电脑等多种移动设备。自2008年发布以来,Android已经成为全球最...
"Android应用源码之判断双SD卡_CheckDoubleSDCard.zip"这个压缩包提供了关于如何在Android应用程序中检测设备是否拥有双SD卡的功能。这个源码可以帮助开发者更好地理解和实现对存储设备的管理,以优化用户数据存储...
在Android应用开发中,SD卡(Secure Digital Card)的使用是一项重要的技能,特别是在处理大量数据存储、用户文件管理和资源更新等方面。本项目“Android应用源码之开发之 SD卡的使用”提供了一个学习示例,适合进行...
1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 Android开发准备工作 2.2 开发包及其工具的安装和 配置 2.2.1 安装JDK和...
在研究Android应用程序开发过程中,安全性设计始终是一个核心主题。Android平台默认提供了很多安全机制,这使得开发者在进行应用开发时可以不必过多关注安全问题。但是,为了更全面地保障应用与用户的安全,本文将...
本教程主要介绍如何在Android应用中实现网络文件的下载并保存到SD卡。 1. **Android权限设置** 在AndroidManifest.xml文件中,你需要添加写入外部存储的权限: ```xml <uses-permission android:name="android....
- 将插件APK的.dex文件提取到内存或存储中,如SD卡。 - 创建自定义的ClassLoader,指定 dex 文件的位置。 - 使用ClassLoader加载插件的类,并通过反射调用其方法。 4. **安全与权限管理**:由于插件apk无需安装...
在本文中,我们将详细探讨如何在VM虚拟机上安装Android 2.2并配置虚拟SD卡。VMware(VM)虚拟机是一款...然而,如果你计划进行现代应用程序的开发或测试,建议使用更新的Android版本,因为新版本支持更多的特性和服务。
在Android开发中,有时我们需要将预置的数据库文件与应用一起发布,并在应用程序首次启动时将其复制到外部存储(如SD卡)或内部存储(内存)中,以便于后续的操作和使用。这样的需求通常出现在那些需要提供初始数据...
1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 Android开发准备工作 2.2 开发包及其工具的安装和配置 2.2.1 安装JDK和配置...
在Android开发中,记录日志是一项非常重要的任务,它能够帮助开发者追踪应用程序的运行状态,定位和解决问题。本文将深入探讨如何使用microlog4android库将日志信息写入到SD卡上的文件,以实现更灵活的日志管理。 ...
"收集程序崩溃日志到SD卡"这个Demo就是这样一个实用工具,它演示了如何在Android应用发生错误时,自动将崩溃日志保存到设备的外部存储(通常是SD卡)上,以便后续分析。 首先,我们需要理解Android的日志系统。...
首先对 Android 的系统架构进行了简要的概述,随后在此基础上对 Android 应用程序的特点及开发组件分别进行了介绍,最后通过设计实现一个音乐播放器对 Android 多媒体应用程序开发方法进行了说明演示。 该设计实现...