前言:本人工作快一年了,由于自己感觉基础太差。所以购买了 李刚写的《疯狂Android讲义》来补一补基础,顺便记录以便日后查阅。

  1.1.1Android的发展和简介

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的发展和历史相关推荐

  1. 第五章 资本主义发展的历史进程

    资本主义发展的历史进程 第一节 从自由竞争资本主义到垄断资本主义 自由竞争--生产集中--垄断 资本主义的发展阶段:自由竞争到垄断 自由竞争资本主义--垄断资本主义(19世纪末20世纪初) 垄断产生的 ...

  2. 中国计算机发展的历史和现状

    中国计算机发展的历史和现状   摘要: 随着科学技术的发展,计算机应用技术被广泛的应用到各个领域,人类与计算机的关系也日渐密切.而随着世界经济水平的稳步提升,计算机技术的应用已经在渐渐普及到社会生活的 ...

  3. 1. oracle学习入门系列之一 数据库发展与历史

    oracle学习入门系列之一 数据库发展与历史 这个oracle学习入门系列是根据本人工作中的一些笔记.项目进行回忆.整理.一方面是自己知识积累,便于技能提升:另一方面是和小伙伴们共进退互通有无,做一 ...

  4. 搜索引擎发展的历史过程与发展现状

    1搜索引擎的发展的历史 1990年以前,没有任何人能搜索互联网.所有搜索引擎的祖先,是1990年由Montreal的McGill University学生Alan Emtage,Peter Deuts ...

  5. 搜索引擎发展的历史过程与发展现状 zhuan

    搜索引擎发展的历史过程与发展现状 1搜索引擎的发展的历史 1990年以前,没有任何人能搜索互联网.所有搜索引擎的祖先,是1990年由Montreal的McGill University学生Alan E ...

  6. 微服务发展的历史_Spring Cloud Alibaba#03. 微服务的发展史

    本文介绍微服务的发展历史以及架构演变过程 笔记对应视频学习地址: https://www.itlaoqi.com/chapter/2645.html 单体架构 单点架构面临的挑战 用户量越来越大,导致 ...

  7. 推荐系统的发展演进历史和模型的目标及优缺点

    推荐系统发展历程 梳理推荐系统的模型进化历程,明白模型改进了什么,有什么缺点.做到心中有一副big picture,才能明白未来模型的趋势. 文章目录 推荐系统发展历程 前言 一.模型进化历程 二.常 ...

  8. 微服务发展的历史_“美丽新羌 光照未来” 新羌社区开展微视频宣传片拍摄活动...

    见圳客户端.深圳新闻网讯(记者 王志明 通讯员 甘力宇)为记录新羌社区的历史变迁,弘扬新羌人与时俱进.开拓进取的创新精神,宣传社区党委.社区一线工作者及社区居民的感人事迹和精神,展现深圳社区发展新风貌 ...

  9. Java 的发展(历史)轨迹和历史变迁

    Java的标准划分 Java 的版本演进到Java 2,根据不同层面的应用进行了细化,Java 2平台被分为三种版本,版本及其说明见 版本 描述 其它 J2EE -企业版,适用于服务器,目前已成为企业 ...

最新文章

  1. 优达学城《DeepLearning》项目2:犬种分类器
  2. Java项目:健身俱乐部管理系统(java+SSM+Mysql+Jsp)
  3. 提取Jar2Exe源代码,JavaAgent监控法
  4. 【Android 启动过程】Activity 启动源码分析 ( Activity -> AMS、主线程阶段 )
  5. WordPress备份的七种办法
  6. 【bzoj2751】[HAOI2012]容易题(easy) 数论-快速幂
  7. Compiling Cpp(zz)
  8. Mac全量编译ijkplayer生成Android库
  9. 洛谷P2073 送花 [2017年6月计划 线段树01]
  10. configure: error: Cannot find OpenSSL's libraries
  11. seo教程之对搜索引擎的研究
  12. 牛人自述模拟电路学习历程
  13. 【Matlab学习手记】多元非线性回归
  14. 彩色星球科技旗下娱乐元宇宙产品“彩色世界”正式上线;GIGABYTE推出新一代AORUS专业电竞笔电 | 全球TMT...
  15. 这交互炸了(三):闪屏页是像云一样消失的
  16. 如何找到算法的时间复杂度
  17. 【一周头条盘点】中国软件网(2018.4.9~2018.4.13)
  18. 计算最大回撤python_python 计算收益回撤比
  19. 华为云服务器还需要确定位置吗,有了云服务器还需要主机吗
  20. 微信web开发者工具 “当前代理是非安全代理” 或者“Error:unable vertify the first certification”

热门文章

  1. 1-practice之Python爬取度娘页面
  2. pic单片机流水灯循环右移c语言,PIC单片机LED流水灯程序
  3. 动态磁盘和基本磁盘及转换
  4. 杭电Matlab与仿真-MATLAB基本语法(二)-数据文件的读/写操作
  5. 项目三 探索并利用漏洞对未知web server权限提升(CTF实战 Kioptrix#2靶机渗透测试)
  6. ABAP WORKFLOW工作流创建(一)
  7. ArrayList集合点名器
  8. 《MySQL 必知必会》C21-C24
  9. nCode:DesignLife案例教程十三
  10. 小轮子 ios 获取语言