窗口的显示过程

参考:窗口的显示过程_reclaimsomesurfacememory-优快云博客

链路图:

// 管理窗口的绘制状态
frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java 
// 处理客户端窗口的绘制
frameworks/base/core/java/android/view/ViewRootImpl.java
// 窗口布局, 放置surfaces
frameworks/base/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
// surface的控制器(app进程的renderthread将在这上面绘制)
frameworks/base/services/core/java/com/android/server/wm/WindowSurfaceController.java
// WMS service
frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java
 

// 没有Surface
static final int NO_SURFACE = 0;
// 这通常在 Surface 被创建后但窗口尚未被绘制时设置。在此期间,Surface 是隐藏的。
static final int DRAW_PENDING = 1;
// 这通常在窗口第一次完成绘制后但其surface尚未显示时设置。surface将在下一次布局运行时显示出来。
static final int COMMIT_DRAW_PENDING = 2;
// 这在窗口的绘制已提交之后、其surface实际显示之前的时间段内设置。它用于延迟显示surface,直到令牌中的所有窗口都准备好显示。
static final int READY_TO_SHOW = 3;
// 在窗口首次显示在屏幕上时设置。
static final int HAS_DRAWN = 4;
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值