1.1Android的发展和历史
前言:本人工作快一年了,由于自己感觉基础太差。所以购买了 李刚写的《疯狂Android讲义》来补一补基础,顺便记录以便日后查阅。
Android并不是Google创造的,而是由Android公司所创造的,该公司的创始人是Andy Rubin。该公司后来被Google收购,而Andy Rubin也成为了Google公司的Android产品负责人。
Google于2007年11月5日发布了Android1.0手机操作系统,这个版本的Android系统还没赢得广泛的市场支持。
2009年5月,Google发布了Android1.5,该版本的Android提供了一个非常“”豪华””的用户界面,而且提供了蓝牙连接支持。这个版本的Android吸引了大量开发者的目光。接下来,Android的版本更新得较快,目前最新的Android版本是5.0(以我现在写博客的时间来讲,已经是Android6.0了),之后的文章介绍都是以Android5.0这个版本基础讲解的。
目前Android已经成为一个重要的手机操作系统。当前市场上常见的手机操作系统有如下这些。
IOS:Apple公司的手机、平板操作系统,市场占有率极高(非常变态的一个公司,自己一个公司市场份额能高达10%以上,以良好的用户体验和手机流畅度等原因备受 好评和受人们喜爱!本人虽然做Android开发,但也是拿iphone手机)
Windows Phone:Microsoft公司的手机操作系统,2014年发布的最新版本为Windows Phone8.1,但局势依然不够明朗,前途依然堪忧(曾经见过公司的同事是用 window phone手机,给我的感觉就是,里面的APP没有人开发,APP的界面通常都其丑无比,用户体验差!)
BlackBerry:即将被淘汰(没有见过搭载此系统的手机,听我的隋老师曾经讲过,是和以前诺基亚一样带键盘的手机。)
Symbian:已经被彻底淘汰,彻底退出历史舞台。(诺基亚的手机系统,可怜的诺基亚,它并没有做错什么,相信大家都用过诺基亚手机)
目前Android系统的市场占有率已经远远超过IOS,而WP作为Microsoft公司最后的“”赌注“”,自然也是全力以赴,希望至少能与IOS、Android三足鼎立,但目前局势似乎并不乐观。无论从哪个角度看,Android已经成为最主流的手机操作系统。
提示:
事实上,Andoird已经超出了手机操作系统的范畴,Android系统已经广泛应用于TV、手表以及各种可穿戴设备。Android5.0已经专门提供了TV。Wear等系统镜像。(事实证明如此,我身边一些朋友很多都是在物联网公司上班,以我的小车来讲,我的车载搭载的就是Android系统,其实就是一把手机或者可以理解成一个平板)
就目前国内环境来说,已有大量手机厂商开始生产Android操作系统的手机,因为Android手机平台是一个真正开放式的平台,无需支付任何费用即可使用。出于节省研发费用的考虑,不管是对于知名的手机生产厂商,还是大量的山寨手机厂商,Andoird操作平台都是一个不错的选择。
下面附上前段时间Oppo和Vivo玩偶打架的图片和视频大家随意感受下:
http://baidu.ku6.com/watch/03233872004557158284.html?page=videoMultiNeed
从2008年9月22日,T-Mobile在纽约正式发布第一款Android手机T-Moble G1开始,Android系统不断地获得各个手机厂商的青睐。
2010年1月7日,Google在其美国总部正式向外界发布了旗下首款合作品牌手机Nexus One(HTC G5),同时开始对外发售。
目前,已发布搭载Android系统的手机厂商包括:三星、HTC、索尼爱立信、LG等;国内厂商如华为、联想、中兴、小米等也都开始发布搭载Android系统的手机。
1.1.2 Android 5.X平台架构及特性
Android系统的底层建立在Linux系统之上,该平台由操作系统、中间件、用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建。这种软件叠层结构使得层与层之间相互分离,明确各层的分工。这种分工保证了层与层之间的低耦合度,当下层的层内或层下发生改变时,上层应用程序无需任何改变。(在大学时期,老师强调了无数次分层的作用,和好处!分层思想。)
Android系统主要由5部分组成。
1.应用程序层(我目前的工作就是负责应用程序层的开发)
Android系统将会包含一系列的核心应用程序,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人等。这些应用程序通常都是用JAVA编写的。(大部分的安卓开发者都处于这层)
2.应用程序框架
我们开发Android应用程序时,就是面向底层的应用程序框架进行的。从这个意义上来看,Andoird系统上的应用程序是完全平等的,不管是Android系统提供的程序,还是普通开发者提供的程序,都可以访问Android提供的API框架。
应用程序框架除了可以作为应用程序开发的基础之外,也是软件复用的重要手段,任何一个应用程序都可发布它的功能模块-只要发布时遵守了框架的约定,那么其他应用程序就可以使用这个功能模块。
3.函数库
Android包含一套被不同组件所使用的C/C++库的集合。一般来说,Android应用开发者不能直接调用这套C/C++库集,但可以通过它上面的应用程序框架来调用这些库。
系统C库:一个从BSD系统派生出来的标准C系统库(libc),并且专门为嵌入式Linux设备调整过。
媒体库:基于PacketVideo的OpenCORE,这套媒体库支持播放和录制许多流行的音频和视频格式,以及查看静态图片。主要包括MPEG4、H.264、MPS3、AAC、 AMR、JPG、PNG等多媒体格式。
Surface Manager:管理对显示子系统的访问,并可以对多个应用程序的2D和3D图层提供无缝整合。(表示不懂,求大神指点)
LibWebCore:一个全新的Web浏览器引擎,该引擎为Android浏览器提供支持,也为Webview提供支持,Webview完全可以嵌入开发者自己的应用程序中。(很强大 的一个东西,功能很强大!)
SGL:底层的2D图形引擎。
3D libraries:基于OpenGL ES API实现的3D系统,这套3D库即可使用硬件3D加速(如果硬件系统支持),也可以使用高度优化的软件3D加速。
FreeType:位图和向量字体显示。
SQLite:供所有应用程序使用的功能强大的轻量级关系数据库。
4.Android运行时
Android运行时由两部分组成:Android核心库集和ART。其中核心库集提供了Java语音核心库所能使用的绝大部分功能,而虚拟机则负责运行Android应用程序。
Android5.0以前的的Android运行时由Dalvik虚拟机和Android核心库集组成,但由于Dalvik虚拟机采用了一种被称为JIT(Just-in-time)的解释器进行动态编译并执行,因此导致Android APP运行时比较慢;而ART模式则是在用户安装APP时进行预编译(AOT)的,将原本在程序运行时的编译动作提前到应用安装时,这样使得程序在运行时可以减少动态编译的开销,从而提升Android APP的运行效率。
反过来,由于ART需要在安装APP时进行AOT处理,因此ART需要占用个多的存储空间,应用安装和系统启动时间会延长不少。
除此之外,ART还支持ARM、X86、和MIPS架构,并且能完全兼容64位系统,Android5.0必然会带来更好的用户体验。
5.Linux内核
Android系统建立在Linux2.6之上。Linux内核提供了安全性、内存管理、进程管理、网络协议和驱动模型等核心系统服务。除此之外,Linux内核也是系统硬件和软件叠层之间的抽象层。
1.1Android的发展和历史相关推荐
- 第五章 资本主义发展的历史进程
资本主义发展的历史进程 第一节 从自由竞争资本主义到垄断资本主义 自由竞争--生产集中--垄断 资本主义的发展阶段:自由竞争到垄断 自由竞争资本主义--垄断资本主义(19世纪末20世纪初) 垄断产生的 ...
- 中国计算机发展的历史和现状
中国计算机发展的历史和现状 摘要: 随着科学技术的发展,计算机应用技术被广泛的应用到各个领域,人类与计算机的关系也日渐密切.而随着世界经济水平的稳步提升,计算机技术的应用已经在渐渐普及到社会生活的 ...
- 1. oracle学习入门系列之一 数据库发展与历史
oracle学习入门系列之一 数据库发展与历史 这个oracle学习入门系列是根据本人工作中的一些笔记.项目进行回忆.整理.一方面是自己知识积累,便于技能提升:另一方面是和小伙伴们共进退互通有无,做一 ...
- 搜索引擎发展的历史过程与发展现状
1搜索引擎的发展的历史 1990年以前,没有任何人能搜索互联网.所有搜索引擎的祖先,是1990年由Montreal的McGill University学生Alan Emtage,Peter Deuts ...
- 搜索引擎发展的历史过程与发展现状 zhuan
搜索引擎发展的历史过程与发展现状 1搜索引擎的发展的历史 1990年以前,没有任何人能搜索互联网.所有搜索引擎的祖先,是1990年由Montreal的McGill University学生Alan E ...
- 微服务发展的历史_Spring Cloud Alibaba#03. 微服务的发展史
本文介绍微服务的发展历史以及架构演变过程 笔记对应视频学习地址: https://www.itlaoqi.com/chapter/2645.html 单体架构 单点架构面临的挑战 用户量越来越大,导致 ...
- 推荐系统的发展演进历史和模型的目标及优缺点
推荐系统发展历程 梳理推荐系统的模型进化历程,明白模型改进了什么,有什么缺点.做到心中有一副big picture,才能明白未来模型的趋势. 文章目录 推荐系统发展历程 前言 一.模型进化历程 二.常 ...
- 微服务发展的历史_“美丽新羌 光照未来” 新羌社区开展微视频宣传片拍摄活动...
见圳客户端.深圳新闻网讯(记者 王志明 通讯员 甘力宇)为记录新羌社区的历史变迁,弘扬新羌人与时俱进.开拓进取的创新精神,宣传社区党委.社区一线工作者及社区居民的感人事迹和精神,展现深圳社区发展新风貌 ...
- Java 的发展(历史)轨迹和历史变迁
Java的标准划分 Java 的版本演进到Java 2,根据不同层面的应用进行了细化,Java 2平台被分为三种版本,版本及其说明见 版本 描述 其它 J2EE -企业版,适用于服务器,目前已成为企业 ...
最新文章
- 优达学城《DeepLearning》项目2:犬种分类器
- Java项目:健身俱乐部管理系统(java+SSM+Mysql+Jsp)
- 提取Jar2Exe源代码,JavaAgent监控法
- 【Android 启动过程】Activity 启动源码分析 ( Activity -> AMS、主线程阶段 )
- WordPress备份的七种办法
- 【bzoj2751】[HAOI2012]容易题(easy) 数论-快速幂
- Compiling Cpp(zz)
- Mac全量编译ijkplayer生成Android库
- 洛谷P2073 送花 [2017年6月计划 线段树01]
- configure: error: Cannot find OpenSSL's libraries
- seo教程之对搜索引擎的研究
- 牛人自述模拟电路学习历程
- 【Matlab学习手记】多元非线性回归
- 彩色星球科技旗下娱乐元宇宙产品“彩色世界”正式上线;GIGABYTE推出新一代AORUS专业电竞笔电 | 全球TMT...
- 这交互炸了(三):闪屏页是像云一样消失的
- 如何找到算法的时间复杂度
- 【一周头条盘点】中国软件网(2018.4.9~2018.4.13)
- 计算最大回撤python_python 计算收益回撤比
- 华为云服务器还需要确定位置吗,有了云服务器还需要主机吗
- 微信web开发者工具 “当前代理是非安全代理” 或者“Error:unable vertify the first certification”