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

应用冷启bindservice耗时

背景:sdk初始化的时候耗时过长,而sdk,init方法中只有一个bindservice及一些变量的初始化,却好事100ms

 

 查看trace发现binderservice耗时只占init耗时的一小部分,但是init逻辑并没有其他代码。

 这里servicebind返回快的另一原因是service已经被其他进程绑定过了,无需耗时在service。onbinded回调中创建stub对象

1. 查看binderservice代码发现bindservice如果不传入excutor参数会在主线程回调connection.onserviceconnected()

 

2.怀疑在应用启动的时候,主线程繁忙导致分配不到时间片,接着查看trace验证

ap主线程调度到了cpu 7超大核进程冷启动 ,但是在init阶段cpu 7一直处于繁忙状态导致没有分配时间片给init,导致sdk初始化慢。

解决办法:

bindservice传递excutor参数,回调在子线程

http://www.lryc.cn/news/121293.html

相关文章:

  • 资金情况:每周一次投资和消费总结
  • (杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(7)
  • 力扣:61. 旋转链表(Python3)
  • 笙默考试管理系统-MyExamTest----codemirror(1)
  • 【资料分享】全志科技T507工业核心板硬件说明书(二)
  • PyTorch翻译官网教程-FAST TRANSFORMER INFERENCE WITH BETTER TRANSFORMER
  • SpringCloud实用篇6——elasticsearch搜索功能
  • 质量小议29 -- 循证
  • 微服务与Nacos概述-3
  • Java 面试八股文
  • NPM与外部服务的集成(上)
  • React Router 6
  • Leetcode34 在排序数组中查找元素的第一个和最后一个位置
  • Kubernetes 调度约束(亲和性、污点、容忍)
  • 按轨迹运行
  • 研发工程师玩转Kubernetes——通过PV的节点亲和性影响Pod部署
  • Pytest三种运行方式
  • 城市最短路
  • phpspreadsheet excel导入导出
  • 自动驾驶传感器选型
  • 4.利用matlab符号矩阵的四则运算(matlab程序)
  • Go context.WithCancel()的使用
  • STM32 F103C8T6学习笔记6:IIC通信__驱动MPU6050 6轴运动处理组件—一阶互补滤波
  • Ubantu安装Docker(完整详细)
  • 【从零开始学习JAVA | 第四十一篇】深入JAVA锁机制
  • Playable 动画系统
  • 深入理解Linux内核--虚拟文件
  • 记一次 .NET 某外贸ERP 内存暴涨分析
  • 关于安卓打包生成aar,jar实现(一)
  • QString字符串与16进制QByteArray的转化,QByteArray16进制数字组合拼接,Qt16进制与10进制的转化