- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android6.0 亮屏灭屏流程(DisplayPowerController、WMS)(一)WMS绘制
Android6.0 亮屏灭屏流程(DisplayPowerController、WMS)(一)WMS绘制
亮屏、灭屏流程整个流程涉及的模块比较多,包括PowerManagerService、DisplayPowerControl、WMS、AMS。因此在分析完WMS之后,我们把这块也分析下。
DisplayPowerControl
我们知道灭屏流程的发起是在PowerManagerService中,会通过updatePowerState函数调用updateDisplayPowerStateLocked函数,再调用DisplayPowerControl的requestPowerState函数,到DisplayPowerControl中。DisplayPowerControl中后面会调用updatePowerState函数,我们也主要从这个函数开始分析:
updatePowerState会根据PowerManagerService传过来的显示状态,然后调用animateScreenStateChange函数。
[cpp] view plain copy
animateScreenStateChange(state, performScreenOffTransition);
下面我们先来看animateScreenStateChange函数:
[cpp] view plain copy
private void animateScreenStateChange(int target, boolean performScreenOffTransition) {
// If there is already an animation in progress, dont interfere with it.
if (mColorFadeOnAnimator.isStarted()
|| mColorFadeOffAnimator.isStarted()) {
return;
}
// If we were in the process of turning off the screen but didnt quite
// finish. Then finish up now to prevent a jarring transition back
// to screen on if we skipped blocking screen on as usual.
if (mPendingScreenOff target != Display.STATE_OFF) {
setScreenState(Display.STATE_OFF);
mPendingScreenOff = false;
mPowerState.dismissColorFadeResources();
}
if (target == Display.STATE_ON) {//亮屏处理
// Want screen on. The contents of the screen may not yet
// be visible if the color fade has not been dismissed because
// its last frame of animation is solid black.
if (!setScreenState(Display.STATE_ON)) {
return; // screen on blocked
}
if (USE_COLOR_FADE_ON_ANIMATION mPowerRequest.isBrightOrDim()) {//亮屏动画
// Perform screen on animation.
if (mPowerState.getColorFadeLevel() == 1.0f) {
mPowerState.dismissColorFade();
} else if (mPowerState.prepareColorFade(mContext,
mColorFad
您可能关注的文档
最近下载
- 发电厂变电站电气设备课程思政教学设计.pdf
- 初中函数 图像练习坐标纸(A4)直接打印版本.doc
- Unit 3 Amazing animals第2课时 A Let's learn & Listen and do人教PEP英语(2024)三年级上册.pptx VIP
- 爱德利AS2系列变频器使用说明书.pdf
- 人教版(川教版)五年级上册生命生态安全教学设计和教学计划及进度表(附安全知识).pdf VIP
- 猪场用电安全培训.pptx
- 高中语文之《炮兽》2(人教版选修).ppt VIP
- 安娜·卡列尼娜名著导读PPT课件.pptx
- 中国税法:案例·原理·方法(暨南)中国大学MOOC慕课 章节测验期中期末考试答案.docx
- 集团公司各部门职责权限手册(2022年版).pdf
文档评论(0)