Android学习笔记-Android简介

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

  Android学习笔记-Android简介

Android学习笔记-Android简介

Android学习笔记-Android简介

Android学习笔记-Android简介

Android学习笔记-Android简介

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/

你可能感兴趣的:(Android学习)