1. Android 入门
1.1、 什么是1G、2G、3G、4G、5G
第一代移动通信技术(1st - Generation< n. 一代>),只能进行语音通话。第二代移动通信技术(2nd - Generation),可以收发短信、可以上网,但速度只有几十Kbps,而且不能在通话时使用。网络制式:WAP第三代移动通信技术(3rd - Generation),速率一般在几百Kbps,并且可以通话时保持在线,移动互联网时代到来。第四代移动通信技术(4th - Generation),速度可达到100Mbps以上,可以在线观看高清视频,上传下载大批量数据(目前正处于4G)。第五代移动通信技术(5th - Generation),速度可达到1Gbps以上,几乎满足人们的所有需求。
1.2、主流的3G技术标准有三种:
WCDMA(Wideband Code Division Multiple Access 宽带码分多址):全球80%以上的3G网络都是采用此种制式,中国联通运营
CDMA2000:目前日韩及北美使用较多,中国电信运营
TD-SCDMA(Time Division-Synchronous Code Division Multiple Access 时分同步码分多址 ):中国自主知识产权的3G通信技术,中国移动运营
1.3、目前主流的4G技术为LTE(Long Term Evolution 长期演进 ),有些国家已经普及,目前国内还没有,中移动在2013年开始推广:
GSM →GPRS →EDGE →WCDMA →HSDPA →HSDPA+ → LTE ( 速度越来越快)
1.4、5G目前还没有任何电信公司使用:
2013年5月份,韩国三星宣布已成功开发5G核心技术,预计将于2020年开始部署
2、什么是Android( ★★)
2.1、Android本义指“机器人”, Android系统早期由原名为“Android”的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营。2.2、Android系统最初由安迪·鲁宾等人开发制作。最初开发这个系统的目的是创建一个数码相机的先进操作系统,后来发现市场需求不够大,加上智能手机市场快速成长,于是Android被改造为一款面向智能手机的操作系统2.3、Google于2007宣布基于Linux平台的开源操作系统Android SDK1.0(预览版)发布,官方中文名:安卓 。2.4、底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发, 大部分程序以Java语言编写。2.5、由于Android系统的开源特性,很多制造商都在生产Android系统的设备 ,如:三星、摩托罗拉、HTC、索爱、LG、小米、华为、魅族等。2.6、Android系统除了运行在智能手机上之外,还可以用做平板电脑、电视、 汽车、手表、眼镜等很多设备上。
3、Android的发展历史拓展
3.1、96年,手机性能低下,直接浏览网页比较困难,所以出现了wap制式(还有哪些网络制式)。WAP:wait and pay,由移动运营商将网站转发出去,网页格式:WML wireless markup Language:无线标记语言,他是精简版的html语言,少了很多html标签,解析成本较低3.2、2005年Google收购Android lnc,开始研究Dalvik VM3.3、2007年发布SDK1.0预览版3.4、08年公布Android源代码,我国成立核高基项目(核心高级基础项目),主要研发本国的移动操作系统
4、Android版本介绍
一张图看尽Android历史
5、Android架构 (★ ★ ★ ★ )
5.1、底层Linux核心的工作:安全管理、内存管理、进程管理、电源管理、硬件驱动5.2、Libraries:c代码库OpenGL:图形快速显示,游戏开发webkit:浏览器内核5.3、Android Runtime (4.3)Dalvik VM:虚拟机,android代码运行在此虚拟机 ,运行时调用Libraries C代码库5.4、Application Framework中间介入JNI,java代码,调用底层c代码
5.5、Applications原生的应用程序:浏览器、桌面、联系人等
6、Dalvik VM、JVM和Android RunTime(ART) ★★★
6.1、传统JVM
编写.java文件 → 编译为.class文件 → 打包成.jar文件
将java源码编译为class文件,然后将一组class打包成jar。
基于栈结构,栈存储于内存中,所以需要用到内存空间
6.2、Dalvik VM
编写.java文件 → 编译为.class文件 → 打包成.dex文件 → 打包成.apk文件。
将java源码编译为class文件,将一组class编译为一个dex文件,然后有的平台为了更高
的效率会将一个dex转换成odex(odex化即是把那个文件预先提取出来. 作用是能加快软件加载速度和开机速度。)文件。将N多个class文件编译为一个dex,这
样执行效率会比较快,更适合在移动平台运行。
基于寄存器的结构,寄存器在cpu中,所以用到cpu的空间
DVM与JVM的区别
6.3、ART
ART模式是Android Runtime的简称,从Android4.2开始出现。
在Android
4.2以前,安卓手机系统的应用程序均在Dalvik Java的虚拟机上运行,这种运行模式是还要依靠一个编译器来实现与应用程序的沟通。应程序每次运行时,都需要将程序内的代码及时转变为机器码才能运行,这无形中多附加了一道手续,这就造成了耗电相对较快、占用内存大、即使是旗舰机(各方面配置都很高端)用久了也会卡顿严重的现象。
ART模式通过在安装应用程序时,自动对程序进行代码预读取编译,让程序直接编译成机器语言,免去了Dalvik模式要时时转换代码,实现高效率、省电、占用更低的系统内存、手机运行流畅。但凡事总有正反两面,ART在解决了该问题的同时也会占用略高一些的存储空间、安装程序时间要相比普通Dalvik模式要长一些来实现预编译。