zoukankan      html  css  js  c++  java
  • 《第一行代码》学习笔记1-Android系统架构

    1. 2003.10,Andy Rubin创办Android公司。2005.8,Google收购之,并于2008年推出Android系统第一个版本。

    2. ①Linux Kernel:基于Linux 2.6。

      Display Driver:基于Linux的帧缓冲(Frame Buffer)驱动。

      Camera Driver:常用的基于Linux的v412(Video for Linux)的驱动。

        Bluetooth Driver:基于IEEE 802.15.1标准的无线传输技术。

      Flash Memory Driver:基于MTD的Flash驱动程序。

      Binder(IPC)Driver:Android的一个特殊的驱动程序,具有单独的设备节点,提供进程间通信的功能。

      USB Driver:一个外部总线标准,用于规范电脑与外部设备的连接和通讯。

      Keypad Driver:作为输入设备的键区驱动。

      WiFi Driver:基于IEEE 802.11标准的驱动。

      Audio Drivers:常用的基于ALSA的高级Linux声音体系驱动。

      Power Management:电池电量等。

        ②Libraries:通过一些C/C++库为Android系统提供主要技术支持。

      Surface Manager:Android 框架类库之一,管理访问显示子系统和从多模块应用中无缝整合2D和3D的图形。

      Media Framework:Android系统多媒体库,基于PackerVideo OpenCORE,该库支持多种常见格式的音频、视频的回放和录制,以及图片,比如MPEG4、MP3、AAC、AMR、JPG、PNG等。

      SQLite:一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。

      OpenGL|ES:3D绘图,OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。

      FreeType:位图及矢量。

      WebKit:提供浏览器内核的支持。

      SGL:2D图形引擎库。

      SSL:位于TCP/IP协议与各种应用层协议之间,为数据通信提供支持。

      libc:ANSI C是基本的C语言函数库,包含了C语言最基本的库函数。

      Android Runtime:在Android操作系统中,每个Java程序都运行在Dalvik虚拟机上,其只能执行.dex的可执行文件,当Java程序通过编译后,最后还需要通过SDK中的dx工具转为成.dex格式才能正常在虚拟机上执行,Java虚拟机运行的是Java字节码,而Dalvik虚拟机运行的则是其专有的文件格式dex(Dalvik Exceutable)的文件。

      Dalvik虚拟机有如下几个主要特征:

      1.专有的dex文件格式。

      2.dex的优化,dex文件的结构是紧凑的。

      3.基于寄存器。

      4.一个应用,一个虚拟机实例,一个进程。每一个Android应用度运行在一个Dalvik虚拟机实例中,每一个虚拟机实例都是一个独立的进程空间。

      Dalvik是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况做了优化处理。

      ③Application Framework:提供了构建应用程序时可能用到的各种API。

      Activity Manager:用来管理应用程序生命周期并提供常用的导航退回功能。

      Window Manager:管理所有的窗口程序。

      Content Providers:可以让一个应用访问另一个应用的数据,或共享它们自己的数据。  

      View System:可以用来构建应用程序,它包括列表、网格、文本框、按钮以及可嵌入的Web浏览器。

      Notification Manager:应用可以在状态栏中显示自定义的提示信息。

      Package Manager:Android系统内的程序管理。

      Telephony Manager:提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。

      在应用程序中可以使用这些get方法获取相关数据。

      Resource Manager:提供非代码资源的访问,如本地字符串、图形和布局文件。

      Location Manager:位置服务的核心组件,它提供了一系列方法来处理与位置相关的问题,包括查询上一个已知位置、注册和注销来自某个LocationProvider的周期性的位置更新、

      注册和注销接近某个坐标时对一个已定义的Intent的触发等。

      XMPP Service:在线即时交流软件一个通用的进程,就是后台推送服务。

      ④Applications:用Java语言编写的在虚拟机上的程序。

      

    An Imasoldier6 Android Developer
  • 相关阅读:
    一目了然卷积神经网络
    浅析 MVC Pattern
    程序员读书清单
    “数据中台”的再思考
    火锅、报表与数据库的故事
    从NoSQL到NewSQL,谈交易型分布式数据库建设要点
    从架构特点到功能缺陷,重新认识分析型分布式数据库
    YCSB测试HBase远程完全分布式集群
    NoSQL性能测试工具YCSB-Running a Workload
    再谈数据库事务隔离性
  • 原文地址:https://www.cnblogs.com/Iamasoldier6/p/4995552.html
Copyright © 2011-2022 走看看