Android基础入门教程——1.1 背景相关与系统架构分析
来源:互联网 发布:js 判断是否是整数 编辑:程序博客网 时间:2024/05/17 22:34
1.Android背景与当前的状况
Android系统是由Andy Rubin创建的,后来被Google收购了;最早的版本是:Android 1.1版本
而现在最新的版本是今年5.28,Google I/O大会上推出的Android M,有趣的是Android系统的命名都是以点心来命名的,下述表是15个Android版本名称,对应API号以及发布时间!
好了,除了上面这些公共版本外,当然还有一些其他的版本,截止2015.1,各个版本的市场份额如下:
看完上面的信息,我们可能有这样的一个疑问:
那么多的系统版本,我们开发的时候要针对哪个版本进行开发?
这就是作为一个Android必须面对的Android的”碎片化”问题了,而这个问题又分为两个:
①系统碎片化:我们开发App时可能需要做到低版本兼容,比如,最低兼容至2.3版本;由于各种Rom定制的盛行,国人都喜欢对原生系统做一些更改,这导致了在原生系统上可行,而在定制Rom上不可行的问题,比如相机调用~
②屏幕碎片化:市面上各种各样屏幕尺寸的手机,4.3寸,4.5寸,4.7寸,5.0寸,5.3寸…等等,除了手机外,还有Android平板,所以开发时我们可能要处理这个屏幕适配的问题,当然,刚学我们并不需要去考虑这些复杂的东西,后续实际开发我们再来深究!
2.Android系统特性与平台架构
系统特性:
- 应用程序框架支持组件的重用与替换(app发布时遵守了框架的约定,其他app也可以使用该模块)
- Dalvik虚拟机:专门为移动设备优化
-集成的浏览器:开源的WebKit引擎- SQLite结构化的数据存储
- 优化的图形库,多媒体支持,GSM电话技术,蓝牙等
- 采用软件叠层方式构建
平台架构图:
架构的简单理解:
- Application(应用程序层)
我们一般说的应用层的开发就是在这个层次上进行的,当然包括了系统内置的一组应用程序,使用的是Java语言- Application Framework(应用程序框架层)
无论系统内置或者我们自己编写的App,都需要使用到这层,比如我们想弄来电黑名单,自动挂断电话,我们就需要用到电话管理(TelephonyManager)
通过该层我们就可以很轻松的实现挂断操作,而不需要关心底层实现- Libraries(库) + Android Runtime(Android运行时)
Android给我们提供了一组C/C++库,为平台的不同组件所使用,比如媒体框架;而Android Runtime则由Android核心库集 + Dalvik虚拟机构成,Dalvik虚拟机是针对移动设备的虚拟机,它的特点:不需要很快的CPU计算速度和大量的内存空间;而每个App都单独地运行在单独的Dalvik虚拟机内每个app对于一条Dalvik进程)而他的简单运行流程如:- Linux内核
这里就是涉及底层驱动的东西了,一些系统服务,比如安全性,内存管理以及进程管理等
3.本节小结:
本节对Android的历史背景以及现状进行了了解,然后简单分析了Android的系统特性以及系统架构,这些概念性的东西,我们了解了解即可,而下一节我们将开始Android环境的搭建!
0 0
- Android基础入门教程——1.1 背景相关与系统架构分析
- Android基础入门教程——1.1 背景相关与系统架构分析
- Android背景相关与系统架构分析
- 1.1 背景相关与系统架构
- android背景介绍和相关系统架构
- Android基础——1:Android体系与系统架构
- Android零基础之背景及系统架构
- 架构——秒杀系统架构分析与实战
- 【Android】系统架构层次与异常分析
- F2FS文件系统架构与原理分析(一)——设计背景与功能
- F2FS文件系统架构与原理分析(一)——设计背景与功能
- F2FS文件系统架构与原理分析(一)——设计背景与功能
- Android基础入门教程——10.10 传感器专题(1)——相关介绍
- Android基础入门教程——1.8 工程相关解析(各种文件,资源访问)
- Android系统架构分析
- Android系统架构分析
- Android 系统架构分析
- Android系统架构分析
- Linux PureFTPd配置(完整版)
- 0015求十进制数转化成二进制数后1的个数(程序员面试宝典上例题)
- 使用ThinkPHP框架快速开发网站(多图)
- c# winfrom程序中 enter键关联button按钮
- poj 3259 Wormhole【bellman_ford】
- Android基础入门教程——1.1 背景相关与系统架构分析
- 欢迎使用CSDN-markdown编辑器
- Java substring使用方法
- HDU 1239 暴力
- css的background 属性
- ThinkPHP创建应用的一般开发流程及实例
- [leetcode#4]Longest Common Prefix
- 操作系统原理学习总结
- Android 中的 Service 全面总结