Framework学习笔记

# Framework简介 #

![](https://i.imgur.com/HHQUkoi.png)


# 系统服务 #
      SystemServer 是framework中非常重要的一个进程,它是在虚拟机启动后运行的第一个java进程,SystemServer启动其他系统服务,这些系统服务都是以一个线程的方式存在于SystemServer进程中。 

a) EntropyService    提供伪随机数

b) PowerManagerService    电源管理服务

c) ActivityManagerService    最核心的服务之一,管理Activity

d) TelephonyRegistry    通过该服务注册电话模块的事件响应,比如重启、关闭、启动等

e) PackageManagerService    程序包管理服务

f) AccountManagerService    账户管理服务,是指联系人账户,而不是Linux系统的账户 

g) ContentService    ContentProvider服务,提供跨进程数据交换

h) BatteryService    电池管理服务

i) LightsService    自然光强度感应传感器服务

j) VibratorService    震动器服务 

k) AlarmManagerService    定时器管理服务,提供定时提醒服务

l) WindowManagerService    Framework最核心的服务之一,负责窗口管理

m) BluetoothService    蓝牙服务

n) DevicePolicyManagerService    提供一些系统级别的设置及属性

o) StatusBarManagerService    状态栏管理服务

p) ClipboardService    系统剪切板服务

q) InputMethodManagerService    输入法管理服务

r) NetStatService    网络状态服务

s) NetworkManagementService    网络管理服务

t) ConnectivityService    网络连接管理服务

u) AccessibilityManagerService    辅助管理程序截获所有的用户输入,并根据这些输入给用户一些额外的反馈,起到辅助的效果

v) MountService    挂载服务,可通过该服务调用Linux层面的mount程序

w) NotificationManagerService    通知栏管理服务,Android中的通知栏和状态栏在一起,只是界面上前者在左边,后者在右边

x) DeviceStorageMonitorService    磁盘空间状态检测服务

y) LocationManagerService    地理位置服务

z) SearchManagerService    搜索管理服务

aa) DropBoxManagerService    通过该服务访问Linux层面的Dropbox程序

ab) WallpaperManagerService    墙纸管理服务,墙纸不等同于桌面背景,在View系统内部,墙纸可以作为任何窗口的背景 

ac) AudioService    音频管理服务

ad) BackupManagerService    系统备份服务

ae) AppWidgetService            Widget服务

af) RecognitionManagerService    身份识别服务

ag) DiskStatsService    磁盘统计服务


# 核心服务介绍 #
## a) ActivityManagerService ##

ActivityManagerService(以下简称:AMS)是android系统的一个系统服务,是应用进程的管理服务端,直接的控制了应用程序的各个行为,保证了系统中不同的应用程序之间能够和谐的合理的进行调度运行。

AMS是android上层系统最核心的模块之一,其主要的工作是对所有的应用进程及其进程中的四大组件进行管理。(当然这里面也涉及了一些window、电源、权限等内容)

对进程的管理包括:进程的创建与销毁、进程的优先级调整。

对组件的管理包括:Activity的调度管理、Service的管理、Broadcast的分发、以及ContentProvider管理。

![](https://i.imgur.com/CZjxXfo.png)

## b) WindowManagerService ##

对系统中所有窗口进行管理;动画处理 ;Input分发、处理;Display管理(多屏显示) 。

## c) Android Graphics系统 ##

![](https://i.imgur.com/nVuWVxT.png)

## a) Surfaceflinger ##

负责Layer合成(composer);创建surface;管理surface。

## b) PackageManagerService ##

负责Package的管理,应用程序的安装 、卸载、信息查询等。

![](https://i.imgur.com/No0lrV7.png)

## c) Input系统 ##

android的输入系统主要完成键盘、触屏、鼠标等输入设备的事件输入及向焦点窗口和焦点视图的事件派发,插入,过滤,拦截等功能。

android支持的输入设备主要有:键盘、鼠标、触摸屏、轨迹球、游戏摇杆/手柄、绘图板。

![](https://i.imgur.com/HclZt6X.png)

# Framework的范围 #
Framework负责APPLICATION FRAMEWORK、ANDROID RUNTIME和LIBRARIES三部分。

a) 系统Manager和Service相关内容

b) 系统接口和jni相关内容

c) 系统功能相关内容(watchdog、vold、binder等)

d) 虚拟机dalvik、art

e) 系统so库相关内容

f) CTS、GTS等预分析

g) Monkey预分析

h) 系统稳定性问题(系统ANR、冻屏、重启、蓝屏等)

i) 系统性能问题

# framework基础 #
语言基础:Java、C++、C

技术基础:进程间通信,多线程,jni,linux相关知识,binder
--------------------- 
原文:[https://blog.csdn.net/fu_kevin0606/article/details/79532710]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值