1、Android与Linux和Java的关系

Android严格来说,不能算是Linux,Android是一个统称,具体来说,是Google用了Linux的一个核心,用这个核心来管理进程,控制硬件。然后google利用java技术,搞了自己的一个虚拟机,给应用软件一个运行的平台。java技术本来是SUN公司的,SUN有自己的标准(有用在手机上的,有用在服务器上的),但是Google感觉sun的方案限制太多。于是用java技术另外搞了一套,这个就是Android。

Android上面的程序都是运行在Google提供的这个虚拟机上面,然后通过虚拟机和Linux发生关系,再和硬件发生关系。

2、Android各版本特性

版本 API 发布时间 特性
Android1.0 1 2008年9月22日 Android第一版
Android 1.5 Cupcake(纸杯蛋糕) 3 2009年4月30日 官方1.5版本(Cupcake 纸杯蛋糕)的Android发布。主要的更新如下:
1、拍摄/播放影片,并支持上传到Youtube
2、支持立体声蓝牙耳机,同时改善自动配对性能
3、最新的采用WebKit技术的浏览器,支持复制/贴上和页面中搜索
4、GPS性能大大提高
5、提供屏幕虚拟键盘
6、主屏幕增加音乐播放器和相框widgets
7、应用程序自动随着手机旋转
8、短信、Gmail、日暦,浏览器的用户接口大幅改进,如Gmail可以批量删除邮件
9、相机启动速度加快,拍摄图片可以直接上传到Picasa
10、来电照片显示
Android 1.6 Donut (甜甜圈) 4 2009年9月15日 1.6(Donut 甜甜圈)版本软件开发工具包发布。主要的更新如下:
1、重新设计的Android Market手势
2、支持支持CDMA网络
3、文字转语音系统(Text-to-Speech)
4、快速搜索框
5、全新的拍照接口
6、查看应用程序耗电
7、支持虚拟私人网络(VPN)
8、支持更多的屏幕分辨率。
9、支持OpenCore2媒体引擎
10、新增面向视觉或听觉困难人群的易用性插件
Android2.0/2.0.1/2.1 Eclair (松饼) 5_6_7 2009年10月26日 2.0(Eclair 松饼)版本软件开发工具包发布。主要的更新如下:
1、优化硬件速度
2、”Car Home”程序
3、支持更多的屏幕分辨率
4、改良的用户界面
5、新的浏览器的用户接口和支持HTML5

6、新的联系人名单
7、更好的白色/黑色背景比率
8、改进Google Maps3.1.2

9、支持Microsoft
Exchange
10、支持内置相机闪光灯
11、支持数码变焦
12、改进的虚拟键盘
13、支持蓝牙2.1
14、支持动态桌面的设计
Android 2.2/2.2.1 Froyo (冻酸奶) 8 2010年5月20日 2.2(Froyo 冻酸奶)版本软件开发工具包发布。主要的更新如下:
1、整体性能大幅度的提升
2、3G网络共享功能。
3、Flash的支持。
4、App2sd功能。
5、全新的软件商店。
6、更多的Web应用API接口的开发。
Android 2.3 Gingerbread(姜饼) 9 2010年12月7日 2.3(Gingerbread 姜饼)版本软件开发工具包发布。主要的更新如下:
1、增加了新的垃圾回收和优化处理事件
2、原生代码可直接存取输入和感应器事件、EGL/OpenGL
ES、OpenSL ES。
3、新的管理窗口和生命周期的框架。

4、支持VP8和WebM视频格式,提供AAC和AMR宽频编码,提供了新的音频效果器
5、支持前置摄像头、SIP/VOIP和NFC(近场通讯)
6、简化界面、速度提升:
7、更快更直观的文字输入:
8、一键文字选择和复制/粘帖:
9、改进的电源管理系统:
10、新的应用管理方式:
Android 3.0 Honeycomb (蜂巢) 11 2011年2月2日 3.0(Honeycomb 蜂巢)版本主要更新如下:
·优化针对平板
·全新设计的UI增强网页浏览功能
·n-app purchases功能
Android 3.1 Honeycomb (蜂巢) 12 2011年5月11日 在Google I/O开发者大会宣布发布,版本主要更新如下:
Honeycomb 蜂巢(改进3.0BUG)
经过优化的Gmail电子邮箱;
全面支持GoogleMaps
将Android手机系统跟平板系统再次合并从而方便开发者。
任务管理器可滚动,支持USB 输入设备(键盘、鼠标等)。
支持 Google TV.可以支持XBOX 360无线手柄
widget支持的变化,能更加容易的定制屏幕widget插件。
Android 3.2 Honeycomb (蜂巢) 13 2011年7月13日 版本更新如下:
支持7英寸设备
引入了应用显示缩放功能
Android 4.0 Ice Cream “冰激凌三明治” 14 2011年10月19日 在香港发布,4.0(Ice
Cream Sandwich 冰激凌三明治)版本主要更新如下:
1、全新的ui
2、全新的Chrome Lite浏览器,有离线阅读,16标签页,隐身浏览模式等。
3、截图功能
4、更强大的图片编辑功能
5、自带照片应用堪比Instagram,可以加滤镜、加相框,进行360度全景拍摄,照片还能根据地点来排序
6、Gmail加入手势、离线搜索功能,UI更强大。
7、新功能People:以联系人照片为核心,界面偏重滑动而非点击,集成了Twitter、Linkedin、Google+等通讯工具。有望支持用户自定义添加第三方服务。
8、新增流量管理工具,可具体查看每个应用产生的流量。
9、正在运行的程序可以像电脑一样的互相切换
10、人脸识别功能
11、系统优化、速度更快
12、支持虚拟按键,手机可以不再拥有任何按键

13、更直观的程序文件夹:
14、平板电脑和智能手机通用
15、支持更大的分辨率
16、专为双核处理器编写的优化驱动

17、全新的Linux内核
18、增强的复制粘贴功能
19、语音功能
20、全新通知栏:
21、更加丰富的数据传输功能
22、更多的感应器支持
23、语音识别的键盘:
24、全新的3D驱动,游戏支持能力提升
25、全新的谷歌电子市场
26、增强的桌面插件自定义
Android 4.1 Jelly Bean(果冻豆) 16 2012年6月28日 1.更快、更流畅、更灵敏
2.增强通知栏
3.全新搜索
4.桌面插件自动调整大小
5.加强无障碍操作
6.语言和输入法扩展
7.新的输入类型和功能
8.新的连接类型
9.新的媒体功能
10.浏览器增强
11.Google服务
Android 4.2 Jelly Bean(果冻豆) 17 2012年10月30日 1、完整的Chrome浏览器
2、全新的手机风景模式
3、全新的文件管理器
4、文本输入选项的改进
5、一个明确的升级方法
6、Android Key Lime Pie精简版
7、具有开关切换的用户界面
8、全新的电源管理系统
9、更为轻便的主题模式
10、全新的锁屏页面
11、全新的时钟界面
Android 4.3 Jelly Bean(果冻豆) 18 2013年7月25日 1、用户账户配制
2、拨号盘联系人自动补全
3、OpenGL 3.0
4、蓝牙低耗电技术
5、WIFI关闭后保持位置功能
其它特性
新的相机应用UI
新的开发者工具
通过邮件分享截屏时,日期和时间会自动加入进去。
Android 4.4 KitKat(奇巧) 19 2013年9月4日 1、优化了RenderScript计算和图像显示,取代OpenCL
2、支持两种编译模式
3、Android 4.4 KitKat针对RAM占用进行了优化,甚至可以在一些仅有512MB RAM的老款手机上流畅运行。
4、新图标、锁屏、启动动画和配色方案
5、新的拨号和智能来电显示
6、加强主动式语音功能
7、集成Hangouts IM软件
8、全屏模式
9、支持Emoji键盘
10、轻松访问在线存储
11、无线打印
12、屏幕录像功能
13、内置字幕管理功能
14、计步器应用
15、低功耗音频和定位模式
16、新的接触式支付系统
17、新的蓝牙配置文件和红外兼容性
Android 5.0 Lollipop(棒棒糖) 21 2014年10月15日 1、谷歌将为Android的语音服务Google Now加入一个名为OK Google Everywhere的全新功能。
2、Android 5.0可能还会加入更多的健身功能,考虑到谷歌在发布了Android Wear,后者与智能手表及谷歌眼镜等可穿戴设备的协作应该会成为下个版本的重点功能。
3、整合碎片化
4、传言Google将在Android5.0中,禁止厂商进行深度定制。
5、数据迁移
6、独立平板
7、功能按键
8、接口风格
Android 6.0 Marshmallow(棉花糖) 23 2015年5月28日 1.App Permissions(软件权限管理)。
2.Chrome Custom Tabs(网页体验提升)。
3.App Links(APP关联)。

4.Android Pay(安卓支付)。
5.Fingerprint Support(指纹支持)。
6.Power & Change(电量管理)。

3、4.4以来的重大改进

3.1 Android4.4 KitKat(奇巧)

RAM优化

  Android 4.4 KitKat针对RAM占用进行了优化,甚至可以在一些仅有512MB RAM的老款手机上流畅运行。它也进一步优化了系统在低配硬件上的运行效果,似乎是为了更好地在众多智能穿戴设备上运行。

支持Emoji键盘
计步器应用
低功耗音频和定位模式
全屏模式

  不论你是在看电子书、或是使用任何应用程序,都能够方便地进入到全屏模式,隐藏虚拟按键,带来更投入的使用体验。只需滑动屏幕边缘,便可找回按键,也十分方便。

ART模式

  该模式的完整名称是Androidruntime,事实上谷歌的这次优化源于前不久其收购的一家名为Flexycore的公司,该公司一直致力于Android系统的优化,而ART模式也是在该公司的优化方案上演进而来。

  ART模式与Dalvik模式最大的不同在于,在启用ART模式后,系统在安装应用的时候会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行一次编译了,执行效率也大大提升。

  从这方面来看,ART模式确实能够改善Android平台一直以来在兼容性方面的妥协,但另一方面,应用经过预编译后的容量,以及应用是否兼容该模式也是需要重点考虑的问题。

  ART在解决了该问题的同时,同时也有如:会占用略高一些的存储空间、安装程序时要相比普通Dalvik模式要长一些时间来实现预编译。
新的蓝牙配置文件和红外兼容性

  Android 4.4内置了两个新的蓝牙配置文件,可以支持更多的设备,功耗也更低,包括鼠标、键盘和手柄,还能够与车载蓝牙交换地图。另外,新的红外线遥控接口可以支持更多设备,包括电视、开关等等。

3.2 Android5.0 Lollipop(棒棒糖)

整合碎片化

  碎片化:由于制造商和型号繁多产生的软硬件兼容问题。

手电筒

  手电筒是大部分用户的智能手机中不可或缺的小应用。无论是为了找钥匙,还是突然遇到断电的情况。过去我们主要依赖第三方的手电筒应用,但是手电筒相关的软件多如牛毛,而且质量参差不齐,大部分还都有广告。在5.0 Lollipop系统中,一切都改变了。谷歌终于模仿iOS在系统中内置了手电筒应用。我们只要用两根手指下拉通知栏,就可以快速找到这个方便的小工具。

快速查看流量使用情况

  下拉的通知栏面板在5.0系统中的变化巨大。除了前面提到的两点,我们发现在“快速设置”中还增加了查看流量统计的蜂窝网络图标。点击该图标后,我们就可以浏览本月流量的消耗情况,十分方便。

快速访问闹钟设置

  Lollipop系统中另一个方便的功能,是我们可以在通知栏中快速查看并访问闹钟设置。下拉通知栏菜单后,我们在顶部左上角可以看到下一个闹钟的时间点。长按这个区域,就可以迅速进入闹钟设置进行更改。

快速整理通知栏消息

  使用智能手机的用户,多多少少都有遇到通知栏消息泛滥的烦恼。无论是免费版提醒你升级至高级付费版,还是类似《部落战争》这样的社交游戏一直在敦促你加入战斗等等。在5.0Lollipop系统中,找到通知栏消息的来源并且阻止该应用发送消息,是非常轻松的一件事情。我们只要长按该通知消息,发送消息的应用就会显示出来,点击右边的设置按钮就可以进入设置菜单。这时候选择收回通知栏消息权限,或者直接删除就可以了。

隐藏锁屏界面敏感内容

  提起通知栏消息,Android Lollipop中最大的变化就是锁屏。新系统中的锁屏界面变成了一个通知消息中心。虽然这样查看通知消息变得十分便捷,但是隐私问题也随之而来。因为任何人都可以查看手机的锁屏界面。

好在谷歌方面早已考虑到这个问题,已经为开发者提供了相关的接口。我们只要进入“设置-声音&通知消息-当设备锁屏时”,选择“隐藏敏感通知消息内容”。操作完毕之后,该应用就会在锁屏界面自动隐藏消息内容,保证用户的隐私安全。

禁用全部通知栏消息

  也许有人已经注意到了,我们可以用同样的方式禁用全部通知栏消息:进入“设置、声音&通知消息、当设备锁屏时”,选择“隐藏敏感通知消息内容”。

来电免打扰

  Android系统到Lollipop这一代可以说是越来越智能,并且更加实用方便。比如来电,如果你正在使用谷歌地图导航或者玩游戏时,来电信息不会全屏显示,而是以通知菜单的方式提醒用户。这个小小的改动可谓非常之人性化。

3.3 Android6.0 Marshmallow(棉花糖)

指纹识别
  说到指纹识别,很多用户都会觉得现在的中高端安卓手机都支持,但事实上这些安卓手机的指纹识别都是各个厂商自行开发的并没有系统底层的支持。Android 6.0则在系统层面加入指纹识别,能提供原生指纹识别API,这不但降低了厂商开发指纹识别模块的成本,最重要的是原生指纹识别将会大大提升安卓手机的指纹识别支付安全性。 

3.4 Android N

  1. 多窗口模式
  2. OpenJDK替换Java API
  3. 集成chromeOS
  4. 新的消息应用

4、拓展

4.1 Dalvik和ART模式区别

  Dalvik:Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。

  ART:Android操作系统已经成熟,Google的Android团队开始将注意力转向一些底层组件,其中之一是负责应用程序运行的Dalvik运行时。Google开发者已经花了两年时间开发更快执行效率更高更省电的替代ART运行时。 ART代表Android Runtime,其处理应用程序执行的方式完全不同于Dalvik,Dalvik是依靠一个Just-In-Time (JIT)编译器去解释字节码。开发者编译后的应用代码需要通过一个解释器在用户的设备上运行,这一机制并不高效,但让应用能更容易在不同硬件和架构上运 行。ART则完全改变了这套做法,在应用安装时就预编译字节码到机器语言,这一机制叫Ahead-Of-Time (AOT)编译。在移除解释代码这一过程后,应用程序执行将更有效率,启动更快。

  ART优点:

  1. 系统性能的显著提升。
  2. 应用启动更快、运行更快、体验更流畅、触感反馈更及时。
  3. 更长的电池续航能力。
  4. 支持更低的硬件。

  ART缺点:

  1. 更大的存储空间占用,可能会增加10%-20%。
  2. 更长的应用安装时间。

  总的来说ART的功效就是“空间换时间”。

4.2 JIT(动态编译)和AOT(静态编译)比较

http://baike.baidu.com/link?url=9rFbk3ZVvR2yeyQUMhLAEpMHRgPSXzsi2VkVhdzE1f1g_gRFmDqZ7ODLKV16rcIaTHc6XqPiCyjuzQYWg60GM_#6_4

http://www.cnblogs.com/shaweng/p/3811461.html

Android版本信息及与Linux和Java的关系的更多相关文章

  1. 获取Android版本信息和电话信息

    Android的版本信息可以通过android.os.Build获得,电话信息可以通过TelephonyManager获得,代码如下:     private void get_infor(){ sd ...

  2. 查看linux系统版本信息(Oracle Linux、Centos Linux、Redhat Linux、Debian、Ubuntu)

    一.查看Linux系统版本的命令(3种方法) 1.cat /etc/issue,此命令也适用于所有的Linux发行版. [root@S-CentOS home]# cat /etc/issue Cen ...

  3. Linux学习笔记之查看Linux版本信息

    0x00 概述 这里所谓的Linux版本信息,包括Linux内核版本信息和Linux系统版本信息. 0x01 查看Linux内核版本信息 方法1:登陆Linux,在终端输入 cat /proc/ver ...

  4. linux查看操作系统版本信息

    linux查看操作系统版本信息  摘自:https://www.cnblogs.com/vaelailai/p/7545166.html 一.linux下如何查看已安装的centos版本信息: 1.L ...

  5. 查看Linux、Tomcat、JAVA版本信息

    查看Linux.Tomcat.JAVA版本信息 [root@test1 bin]# cd /usr/local/tomcat/tomcat_jdt/bin/ [root@test1 bin]# sh ...

  6. Linux下如何查看版本信息

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然.   1.# uname -a   (Linux查看版本当前操作系统内核信息)   L ...

  7. 查看Linux版本信息

    如何查看Linux系统使用的版本信息呢? 下面这篇文章收集.整理了一些常见的查看Linux系统版本的方法.由于手头只有Oracle Linux.Centos Linux.Redhat Linux三个版 ...

  8. Android APP 读取 AndroidManifest.xml 中的版本信息详解

    APP都会涉及到版本的问题,Android APP的版本信息保存在AndroidManifest.xml文件的顶部.如下图: 有2个属性表示,“android:versionCode”和“androi ...

  9. 命令行查看linux发行版版本信息

    有时候安装完自己的linux发行版系统(如ubuntu.centos.redhat.opensuse.--)时,把版本信息忽略了,又不想重启电脑,此时我们可以通过命令行方式来查看: 1.cat /et ...

随机推荐

  1. 微信小程序Wepy框架的三个事件交互($broadcast,$emit,$invoke)

    $broadcast: $broadcast事件是由父组件发起,所有子组件都会收到此广播事件,除非事件被手动取消.事件广播的顺序为广度优先搜索顺序,如上图,如果页面Page_Index发起一个$bro ...

  2. 23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite

    23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite 2016-07-22 (www.cnblogs.com/icmzn) 模式理解

  3. js练习计算器

    js练习计算器,支持鼠标点击.键盘操作 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

  4. Selenium WebDriver之JavaScript

    WebDriver提供了方法来同步/异步执行JavaScript代码,这是因为JavaScript可以完成一些WebDriver本身所不能完成的功能,从而让WebDriver更加灵活和强大. 本文中所 ...

  5. api接口响应类型定义

    public class Response<T> { public ResponseStatus Status { get; set; } public string Message { ...

  6. c#复习提纲

    c#零碎整理 注:本文中大部分图片来自老师的PPT,感谢邵老师!文中所有内容为自己按照PPT整理,欢迎指正! 标识符 标识符(类名.变量名.方法名.表空间名等) 大小写敏感 正则表达式  小括号(组合 ...

  7. console使用技巧

    http://heikezhi.com/yuanyi/10%E4%B8%AAchrome%20console%E5%AE%9E%E7%94%A8%E5%B0%8F%E6%8A%80%E5%B7%A7 ...

  8. RabbitMq初探——消息均发

    消息均发 前言 由前文 RabbitMq初探——消息分发 可知,rabbitmq自带分发机制——消息会按顺序的投放到该队列下的多个消费者,例如1,3,5投放消费者C1,2,4,6投放消费者C2. 这就 ...

  9. linux进程管理(二)

    接上[linux进程管理(一)] 终止进程的工具 kill .killall.pkill 终止一个进程或终止一个正在运行的程序,一般是通过 kill .killall.pkill.xkill 等进行. ...

  10. Visual Studio code安装步骤

    1.官方下载:https://code.visualstudio.com/,本人电脑是window系统  下载之后,双击安装,安装完之后左侧栏那边是英文,如何变为中文: 按快捷键ctrl+shift+ ...