美文网首页
6.Framework概述

6.Framework概述

作者: Jaesoon | 来源:发表于2018-10-17 19:54 被阅读13次

Framework概述

Framework框架

框架包含三部分:

  • 服务端
  • 客户端
  • Linux驱动

服务端

服务端只要包含了两个重要的类

  • WindowManagerService(WmS)
    • 负责各窗口的叠放次序,隐藏或者显示窗口
  • ActivityManagerService(AmS)
    • 负责管理Activity

除了这两个重要的类之外,还有两个类很重要

  • KeyQ
    • WmS的内部类,继承于KeyInputQueue类
    • 创建之后,立刻启动一个线程,不断的读取用户UI操作消息,并将这些消息放到消息队列(QueueEvent的实例)中
  • InputDispatcherThread
    • 对象创建之后,不停的从消息队列(QueueEvent的实例)中取出消息,经过自己的过滤之后,派发到当前活动的客户端程序中

客户端

主要包含以下类:

  • ActivityThread类:应用程序的主线程类,所有的App都拥有一个这样的类。该类的程序入口是 static main() 函数。ActivityThread所在的线程为UI线程。
  • Activity类:为APK运行的最小单元,由用户的选择之后,ActivityThread来启动和切换。
  • PhoneWindow类:
    • 继承于Window类
    • 包含了一个DecorView
    • 提供了一组通用窗口操作API
  • Window类
    • 提供了一组通用窗口操作API
    • Window是一个抽象类
    • 注意:WmS管理的是View或ViewGroup,并不是直接管理Window类
  • DecorView类
    • 继承于FrameLayout
    • 装饰类(decoretion),对FrameLayout进行了装饰,添加了TitleBar,按键响应等
  • ViewRoot类
    • 继承自Handler类,作用是,当WmS发生IPC调用时,将调用转成一个本地的异步调用。
    • WmS管理客户端窗口时,需要通知客户端进行某种操作。这些操作是通过IPC来完成的。
  • W类
    • 继承于IBinder,是ViewRoot的内部类。WmS发生IPC调用时,就是调用本Binder类。
    • 本Binder类将收到的IPC调用,包装成Handle的消息,发送出去,以便进行异步处理。
  • WindowManager类
    • 客户端需要添加一个窗口,但是窗口是由WmS来管理的。客户端不能直接和WmS交互,由WindowManger来负责和WmS的交互。

Linux驱动

Linux驱动和FrameWork相关的有两部分

  • SurfaceFlinger
    • 每一个窗口都有一个surface
    • SurfaceFlinger将这些surface显示到一个屏幕上
  • Binder
    • 提供进程间的消息传递

相关文章

  • 6.Framework概述

    Framework概述 Framework框架 框架包含三部分: 服务端 客户端 Linux驱动 服务端 服务端只...

  • 概述

    Web 基础 HTTP(HyperText Transfer Protocol,超文本传输协议)。 WWW(Wor...

  • 概述

    计算机网络由若干结点和链路组成。网络间可以通过路由器互连起来,构成的网络称为互连网(internet)。inter...

  • 概述

    资源 主页:http://opencv.org文档:http://docs.opencv.org/master/问...

  • 概述

    1、分类 创建型:Singleton,Builder,Prototype,Abstract Factory,Fac...

  • 概述

    2018年7月26日,是我开始记录我和我男朋友的爱情故事的第一天,也是我和他在一起的第99天。 其实我们刚在一...

  • 概述

    电路交换、分组交换 电路交换由于电话通信系统,分组交换用于网络数据传输。 电路交换两个用户独占一条物理链路;分组交...

  • 概述

    课程大纲: 1、图像的基本构成2、像素读写3、图像像素值统计信息4、像素值数学运算5、图像RGB彩色空间6、色彩空...

  • 概述

    作者认为这套需求过程可以适用于多种软件开发的情况。这套需求过程虽然不是唯一的解决方案,但学习这个过程可以获得很多帮...

  • 概述

    1、计算机网络向用户提供的最重要的功能有两个连通性和共享。2、网络由若干结点和连接这些结点的链路组成。结点可以是计...

网友评论

      本文标题:6.Framework概述

      本文链接:https://www.haomeiwen.com/subject/ejtdzftx.html