AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
这里,先总结一下前面讲解中和Surface有关的流程: - 在ViewRoot构造时,会创建一个Surface,它使用无参构造函数,代码如下所示: ~~~ private final Surface mSurface = new Surface(); ~~~ - ViewRoot通过IWindowSession和WMS交互,而WMS中会调用的一个attach函数,会构造一个SurfaceSession,代码如下所示: ~~~ void windowAddedLocked() { if(mSurfaceSession == null) { mSurfaceSession = new SurfaceSession(); mNumWindow++; } } ~~~ - ViewRoot在performTransval的处理过程中会调用IWindowSession的relayout函数。这个函数还没有分析。 - ViewRoot调用Surface的lockCanvas,得到一块画布。 - ViewRoot调用Surface的unlockCanvasAndPost释放这块画布。 这里从relayout函数开始分析,来看。