Android是由Google在2007年推出的一个开放系统平台,主要针对移动设备市场,目前版本为Android 2.1。Android基于Linux,开发者可以使用Java或C/C++开发Android应用。本专题将为大家详解Android平台上的开发应用。

Dalvik:

Android另一个重要的部分,包括虚拟机和一组重要的运行环境。它的设计非常巧妙,是个很好的一个手机终端的底层应用。

代码如何生成? Dalvik虚拟机只执行.dex的可执行文件。当Java程序通过编译,最后还需要通过SDK中的工具转化成.dex格式才能在虚拟机上执行。

我需要强调的是,Android应用本身就可视作可在平台上运行并调用APIs的代码,所以对代码如何生成不需特别看重。

Dalvik虚拟机和一般JAVA虚拟机(Java VM)不同,它执行的不是JAVA标准的字节码(bytecode )而是Dalvik可执行格式(.dex)中执行文件。在执行的过程中,每一个应用程序即一个进程(Linux的一个Process)。 二者最大的区别在于Java VM是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。

耗电图

简单的说也就是主要在以下情况下耗电比较多:</p>

<p>1、 大数据量的传输。</p>

<p>2、 不停的在网络间切换。</p>

<p>3、 解析大量的文本数据。</p>

1、 在需要网络连接的程序中,首先检查网络连接是否正常,如果没有网络连接,那么就不需要执行相应的程序。

2、 使用效率高的数据格式和解析方法(流式高于树形)。

3、 目前大部门网站都支持GZIP压缩,所以在进行大数据量下载时,尽量使用GZIP方式下载。

4、 其它一些优化方法:回收java对象,特别是较大的java对像;对定位要求不是太高的话尽量不要使用GPS定位,可能使用wifi和移动网络cell定位即可。GPS定位消耗的电量远远高于移动网络定位;尽量不要使用浮点运算;

获取屏幕尺寸等信息可以使用缓存技术,不需要进行多次请求;

很多人开发的程序后台都会一个service不停的去服务器上更新数据,在不更新数据的时候就让它sleep,这种方式是非常耗电的,通常情况下,我们可以使用AlarmManager来定时启动服务;

最后一招,在运行你的程序前先检查电量,电量太低,那么就提示用户充电之类的。

Android应用程序使用Java语言来编写,使用JDK中的Javac编译器进行编译,从而产生Java字节码(.class文件)。然后,这些文件还要被转化成Android的.dex文件,这部分转换工作包括一些优化和压缩等技术,由Dalvik虚拟机来完成,应用开发人员只需要使用Android提供的API来完应用程序编写即可;Android 引用了很大一部分的Java API(很多都是编写Java程序经常使用的),但是也省略了一些,比如界面部分(Java.awt包)等,所以在学习Java基础时就可以针对Android所引入的这部分来学习,概括一下就是:Java标准语法规则、Java提供的一些工具内库。另外,Android的界面布局使用xml语法规则,所以有必要了解一下xml相关的知识。

对于一个初学者首先应该学习Java基础,熟悉Java这种编程语言,这部分比较重要将直接关系到学习Android的时间进度,当你能够独立写出部分Java程序时,可以开始进入Android的学习了,进入Android的学习应该首先掌握Android的系统结构,应用程序框架,应用程序必须的各个模块,当然这部分内容可以直接参考官方提供的开发入门文档,当入门之后可以开始深入Android各个模块进行学习,了解各模块的功能、机制,从而对其提供的API接口进行熟练且灵活的运用。

◆Google Android主站: http://code.google.com/Android/

◆Android官方文档: http://code.google.com/Android/documentation.html

◆Android中国开发者团队: http://groups.google.com/group/Android-developers-zh

◆Androidev社区: http://anddev.org/

◆EoeAndroid社区: http://www.eoeAndroid.com/

更多相关文章

  1. Android异步处理二:使用AsyncTask异步更新UI界面
  2. Android异步处理系列文章四篇之二 使用AsyncTask异步更新UI界面
  3. android library project使用
  4. Android(安卓)安全加密:非对称加密详解
  5. android中使用 EditText 时,设定 inputType的一点说明
  6. android api 完整翻译之Application Fundamentals (学习android必
  7. 我对学习delphiTeacher的《delphi调用及封装Android原生控件》的
  8. 【Android(安卓)Api 翻译3】android api 完整翻译之Application
  9. Android消息机制浅析——基本使用

随机推荐

  1. Android OpenCV获取相机并拍(Android Stu
  2. Appium 测试,实现上下、左右滑动页面【And
  3. Android 在应用中使用用户凭证(PIN码、密
  4. android Activity 应用程序 生命周期
  5. android的log解析
  6. 详解android 接口回调
  7. android小结(一)之menu
  8. Android 上传自己的开源库到Bintray
  9. eclipse无法导入Android工程的现象与解决
  10. Android 原始资源文件的使用详解