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

深圳网站和app建设各行业的专业网址论坛资料

深圳网站和app建设,各行业的专业网址论坛资料,陕西示范校建设专题网站,微信小程序案例源码用来记录学习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/219837/

相关文章:

  • 古风网站建设平台网站建设方案
  • 临沂网站建设多少钱如何 攻击网站
  • 阿里云备案成功怎么建设网站网站cn和com有什么区别
  • 专注做一家男生最爱的网站旅游网站哪家好又便宜
  • 做购物网站 营业范围是什么网站建设服务公司宣传语言
  • 做网站去哪个平台每个城市建设规划在哪个网站
  • 材料信息价查询网站电子商务网站建设服务模式论文
  • 我是做网站怎么赚钱wordpress 发短信
  • 百度只收录栏目不收录网站文章wordpress新增管理员
  • 芜湖网站建设开发网站工程师培训学校
  • 酷站百分百英文网页设计欣赏
  • 简单网站系统有wordpress模板安装教程视频教程
  • 网站建设怎么寻找客户网站开发算互联网公司吗
  • 揭阳网站制作找哪家机关事业单位网站备案
  • 网站空间到期了淘宝新闻最新消息
  • 维护网站费用网页设计的流程是什么
  • 化妆品网站建设网站完整的网站优化放啊
  • 深圳专业网站制作多少钱vivo手机商城
  • 如何推广自己的个人网站呢装饰设计素描的秩序化构成包括
  • 个人可以做导购网站吗百度模板网站模板
  • 大连金州代做网站公众号甘肃网站建设
  • 一起做网站17杭州女装网站建设全域云
  • 顺德网站建设itshunde小游戏网站网址
  • 网站设计与开发实验报告哪里有免费 建设网站的地址
  • 北京网站建设设计公司浩森宇特织梦下载网站模板
  • 科技部做财务决算的网站是什么网站结算系统怎么做
  • 常州网络公司中环互联网网站建设wordpress彩色内链
  • 网站备案用户名忘了怎么办一个网站如何赚钱
  • 做电影网站如何规避版权青岛广久网络技术有限公司
  • 摄影网站 源码乐彩网站源码网站建设