当前位置: 首页 > news >正文

禅城网站设计西安网站优化培训

禅城网站设计,西安网站优化培训,昆明网站关键字优化,wordpress 好玩的功能用来记录学习wms,后续会一点一点更新。。。。。。 代码:android14 WMS是在SystemServer进程中启动的 在SystemServer中的main方法中,调用run方法。 private void run() { // Initialize native services.初始化服务,加载andro…

用来记录学习wms,后续会一点一点更新。。。。。。
代码:android14

WMS是在SystemServer进程中启动的

在SystemServer中的main方法中,调用run方法。
在这里插入图片描述

private void run() {
// Initialize native services.初始化服务,加载android_servers so库
870              System.loadLibrary("android_servers");
// Create the system service manager.创建SystemServiceManager
895              mSystemServiceManager = new SystemServiceManager(mSystemContext);942              startOtherServices(t);//android14在startOtherServices中启动WindowManagerService

android14中,在startOtherServices中启动WindowManagerService

1606              wm = WindowManagerService.main(context, inputManager, !mFirstBoot,
1607                      new PhoneWindowManager(), mActivityManagerService.mActivityTaskManager);

该代码执行了WMS的main方法,会在内部创建一个WMS。其中有一个参数inputManager也是在startOtherServices中创建的,如下。

1589              t.traceBegin("StartInputManagerService");
1590              inputManager = new InputManagerService(context);

总结,WMS的main方法在startOtherServices中,而startOtherServices在SystemServer的run方法中,运行在system_server线程中。

1608              ServiceManager.addService(Context.WINDOW_SERVICE, wm, /* allowIsolated= */ false,
1609                      DUMP_FLAG_PRIORITY_CRITICAL | DUMP_FLAG_PROTO);
1610              ServiceManager.addService(Context.INPUT_SERVICE, inputManager,
1611                      /* allowIsolated= */ false, DUMP_FLAG_PRIORITY_CRITICAL);

上述代码将WMS和IMS注册到ServerManager中。
回到上述的WindowManagerService main中。
/frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java

1137      public static WindowManagerService main(final Context context, final InputManagerService im,
1138              final boolean showBootMsgs, WindowManagerPolicy policy, ActivityTaskManagerService atm,
1139              DisplayWindowSettingsProvider displayWindowSettingsProvider,
1140              Supplier<SurfaceControl.Transaction> transactionFactory,
1141              Function<SurfaceSession, SurfaceControl.Builder> surfaceControlFactory) {
1142          final WindowManagerService[] wms = new WindowManagerService[1];
1143          DisplayThread.getHandler().runWithScissors(() ->
1144                  wms[0] = new WindowManagerService(context, im, showBootMsgs, policy, atm,
1145                          displayWindowSettingsProvider, transactionFactory,
1146                          surfaceControlFactory), 0);
1147          return wms[0];
1148      }

DisplayThread.getHandler().runWithScissors调用DisplayThread的getHandler方法,获得DisplayThread的handler实例。
可以用来处理需要低延时显示的相关操作。

在这里插入图片描述
这张图可以清晰的了解到,不管是applicationWindow,还是SystemWindow都是由WindowManager和WMS处理。

http://www.yayakq.cn/news/273503/

相关文章:

  • 电商网站是什么意思山西省智慧建筑信息平台
  • 铜山区建设局网站做跨境电商亏死了
  • 中国建设银行内部网站宝塔上安装wordpress
  • 电子商务网站推广论文最新新闻摘抄2022年
  • 设计什么网站简单知名大型网站搭建公司
  • 公司网站乱码静安区品牌网站建设
  • 建好的网站能修改吗电商名字创意名称
  • 营销型网站是啥公司网络维护是做什么的
  • 文案写作网站国内cms
  • 面向对象网站开发中铁建设集团门户网官网
  • 网站弹出框怎么做网站的域名用文字搜索怎么做
  • 上传网站数据库吗wordpress链接跳转页面
  • 网站生成工具旧手机 搭建wordpress
  • 利用代码如何做网站怎么给网站做备份呢
  • 电子商务模拟实训报告企业网站建设吉林公路建设有限公司网站
  • 百度网站怎么申请注册抖音代运营创业
  • 瑞丽网站建设对重庆电子政务网站建设评价
  • 自己做的网页可以上传网站吗vue.js网站开发用例
  • 网站维护与建设合同做苗木网站哪家好
  • 温州网站改版哪家好做网站朋友圈广告的文案怎么写
  • 制作公司网站需要购买域名和服务器吗设计公司名称
  • 在対网站做可能的来自内部和外部的攻击网站树状型结构优化
  • 一个人是否可以做公司网站5151app是交友软件么
  • 要建一个优惠卷网站怎么做门户类型网站有哪些
  • c 网站开发263邮箱登陆
  • 北京网站快速排名优化汕头市城市建设总公司网站
  • 手机用什么软件做网站网站app怎么制作教程
  • 万网的怎么做网站地图兼职网站推广如何做
  • 陵水网站建设费用车公庙网站建设
  • 安徽省住房和城乡建设厅官方网站自媒体做什么领域比较好