zoukankan      html  css  js  c++  java
  • 1_1.md

    1.1 背景相关与系统架构分析

    分类 Android 基础入门教程

    1.Android背景与当前的状况

    Android系统是由Andy Rubin创建的,后来被Google收购了;最早的版本是:Android 1.1版本 而现在最新的版本是今年5.28,Google I/O大会上推出的Android M,有趣的是Android系统的命名都是以点心来命名的,下述表是15个Android版本名称,对应API号以及发布时间!

    系统版本名称 API版本号 发布时间
    Android 1.5:Cupcake:纸杯蛋糕 3 2009.4.30
    Android 1.6:Donut:甜甜圈 4 2009.9.15
    Android 2.0/2.0.1/2.1:Eclair:松饼 5/6/7 2009.10.26
    Android 2.2/2.2.1:Froyo:冻酸奶 8 2010.5.20
    Android 2.3:Gingerbread:姜饼 9 2010.12.7
    Android 3.0:Honeycomb:蜂巢 11 2011.2.2
    Android 3.1:Honeycomb:蜂巢 12 2011.5.11
    Android 3.2:Honeycomb:蜂巢 13 2011.7.13
    Android 4.0:Ice Cream Sandwich:冰激凌三文治 14 2011.10.19
    Android 4.1:Jelly Bean:果冻豆 16 2012.6.28
    Android 4.2:Jelly Bean:果冻豆 17 2012.10.30
    Android 4.3:Jelly Bean:果冻豆 18 2013.7.25
    Android 4.4:KitKat:奇巧巧克力 19 2013.11.01
    Android 5.0:Lollipop:棒棒糖 21 2014.10.16
    Android M:预览版 22 2015.5.28

    好了,除了上面这些公共版本外,当然还有一些其他的版本,截止2015.1,各个版本的市场份额如下:


    Android系统份额分布图(/home/foxer/Pictures/pictureBed/81149929.jpg)

    看完上面的信息,我们可能有这样的一个疑问: 那么多的系统版本,我们开发的时候要针对哪个版本进行开发? 这就是作为一个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电话技术,蓝牙等
    • 采用软件叠层方式构建

    平台架构图:

    Android平台架构图

    架构的简单理解:

    1. Application(应用程序层) 我们一般说的应用层的开发就是在这个层次上进行的,当然包括了系统内置的一组应用程序,使用的是Java语言
    2. Application Framework(应用程序框架层) 无论系统内置或者我们自己编写的App,都需要使用到这层,比如我们想弄来电黑名单,自动挂断电话,我们就需要用到电话管理(TelephonyManager) 通过该层我们就可以很轻松的实现挂断操作,而不需要关心底层实现
    3. Libraries(库) + Android Runtime(Android运行时) Android给我们提供了一组C/C++库,为平台的不同组件所使用,比如媒体框架;而Android Runtime则由Android核心库集 + Dalvik虚拟机构成,Dalvik虚拟机是针对移动设备的虚拟机,它的特点:不需要很快的CPU计算速度和大量的内存空间;而每个App都单独地运行在单独的Dalvik虚拟机内每个app对于一条Dalvik进程)而他的简单运行流程如: Dalvik的运行流程
    4. Linux内核 这里就是涉及底层驱动的东西了,一些系统服务,比如安全性,内存管理以及进程管理等

    3.本节小结:

    本节对Android的历史背景以及现状进行了了解,然后简单分析了Android的系统特性以及系统架构,这些概念性的东西,我们了解了解即可,而下一节我们将开始Android环境的搭建!

  • 相关阅读:
    Android开发 ViewConfiguration View的配置信息类
    Android 开发 倒计时功能 转载
    Android 开发 关于7.0 FileUriExposedException异常 详解
    Android 开发 实现文本搜索功能
    Android 开发 Activity里获取View的宽度和高度 转载
    Android 开发 存储目录的详解
    Android 开发 Fresco框架点击小图显示全屏大图实现 ZoomableDraweeView
    Android 开发 将window变暗
    Android 开发 DisplayMetrics获取Android设备的屏幕高宽与其他信息
    Android 开发 DP、PX、SP转换详解
  • 原文地址:https://www.cnblogs.com/nsfoxer/p/14353913.html
Copyright © 2011-2022 走看看