Framework精编内核解析——带你步入Android系统开发的殿堂

Android系统一共分为4层:

1、Application
2、FrameWork层
3、Library层+Android Runtime
4、Linux Kernel

其中Framework在第二层,他是把一些基本的的或者和设备打交道的服务抽象起来作Api给Application应用调用。这里是用Android中最底层的java代码。里面通过JNI调用c、c++(Library)来和设备打交道,最终调用到Linux内核。

AndroidFramework主要包含以下模块:

  • ActivityManagerService—这是一个Activity的管理者,负责管理所有Activity的生命周期。
  • WindowManagerService—它是手机屏幕的的管理者,管理着屏幕的详细情况,所有对屏幕的操作最终都是通过它,控制着屏幕的显示、隐藏和层次处理。
  • ComtentProvider—内容提供者,给Android提供了一个应用访问另一个应用的数据的能力。
  • ViewSystem—系统试图,包括列表,网格,文本和按钮的测量、排列、绘制。 Notification
  • Manager—通知管理者,负责通知的管理。
  • PackageMangerService—包管理者,包信息的管理。
  • Telephoney Manager—通信管理者
  • Resoure Manager—资源管理者
  • Location Manager—位置管理者
  • Xmpp Manager—推送管理者

FrameWork三大核心:

  • View.java 负责布局的排列,绘制,测量和事件分发,按键事件。
  • ActivityManagerService.java管理所有应用程序的Activity等
  • WindowManagerService.java 给所有应用程序分配窗口,并管理这些窗口。

————————————————————————————————————————————

1、深入解析Binder

Binder机制作为进程间通信的一种手段,基本上贯穿了andorid框架层的全部。所以首先必须要搞懂的Android Binder的基本通信机制。Binder机制作为进程间通信的一种手段,基本上贯穿了andorid框架层的全部。所以首先必须要搞懂的Android Binder的基本通信机制。

本章知识点

  • Binder 系列—开篇
  • Binder Driver 初探
  • Binder Driver再探
  • Binder 启动 ServiceManager
  • 获取 ServiceManager
  • 注册服务(addService)
  • 获取服务(getService)
  • Framework 层分析
  • 如何使用 Binder
  • 如何使用 AIDL
  • Binder 总结
    Framework精编内核解析——带你步入Android系统开发的殿堂_第1张图片

如有需要完整版可以点击领取直通传达或私信回复 666 货取!!!

2、深入解析Handler消息机制

Handler 用来发送和处理线程对应的消息队列 MessageQueue 中存储的 Message。每个 Handler 实例对应一个线程以及该线程的消息队列。当你创建一个新的 Handler,它会绑定创建它的线程和消息队列,然后它会向消息队列发送 Message 或者 Runnable,并且在它们离开消息队列时执行。

Handler 有两个主要用途:

1.规划 Message 或者 Runnable 在未来的某个时间点执行
2.在另一个线程上执行代码
Framework精编内核解析——带你步入Android系统开发的殿堂_第2张图片

3、Dalvik VM进程系统

Dalvik虚拟机(Dalvik Virtual Machine) 简称Dalvik VM或是DVM。Dalvik虚拟机就是专门为了Android平台开发的,运行在Android运行库中。
Framework精编内核解析——带你步入Android系统开发的殿堂_第3张图片

4、深入解析 WMS

WindowManagerService 简称 WMS ,是系统的核心服务,主要分为四大部分,风别是 窗口管理,窗口动画,输入系统中转站,Surface 管理 。

WMS 的职责很多,主要的就是下面这几点:

  • 窗口管理:WMS是窗口的管理者,负责窗口的启动,添加和删除,另外窗口的大小也时有 WMS 管理的,管理窗口的核心成员有DisplayContent,WindowToken 和 WindowState
  • 窗口动画:窗口间进行切换时,使用窗口动画可以更好看一些,窗口动画由 WMS 动画子系统来负责,动画的管理系统为 WindowAnimator
  • 输入系统的中转站:通过对窗口触摸而产生的触摸事件,InputManagerServer(IMS) 会对触摸事件进行处理,他会寻找一个最合适的窗口来处理触摸反馈信息,WMS 是窗口的管理者,因此理所当然的就成为了输入系统的中转站。
  • Surface 管理:窗口并不具备绘制的功能,因此每个窗口都需要有一个块 Surface 来供自己绘制,为每个窗口分配 Surface 是由 WMS 来完成的。

Framework精编内核解析——带你步入Android系统开发的殿堂_第4张图片

5、PackageMS启动

  • 第一节 PackageMS相关框架类
  • 第二节 PackageMS启动过程

Framework精编内核解析——带你步入Android系统开发的殿堂_第5张图片

如有需要完整版可以点击领取直通传达或私信回复 666 货取!!!

你可能感兴趣的:(android,framework)