应用启动耗时检测方法及相关装置制造方法及图纸

技术编号:38664967 阅读:10 留言:0更新日期:2023-09-02 22:46
本申请实施例提供了应用启动耗时检测方法及相关装置,其中,该方法包括检测目标事件以及活动组件,该目标事件用于触发启动应用;在检测到的activity满足预设条件的情况下,确定该activity为目标activity,该预设条件包括活动组件的类别信息为启动器且活动组件的动作信息为主函数;将第一时刻与第二时刻之间的时间差作为该目标activity对应的应用的启动时长,该第一时刻为该目标activity的第一帧图像绘制完成的时刻,该第二时刻为该第一时刻之前距离该第一时刻最近的目标事件的检测时刻。通过本申请可以有效地检测出应用冷启动的花费的时长。费的时长。费的时长。

【技术实现步骤摘要】
应用启动耗时检测方法及相关装置


[0001]本申请涉及计算机
,尤其涉及应用启动耗时检测方法及相关装置。

技术介绍

[0002]随着计算机科学技术的不断发展,例如手机等电子设备在人们日常生活中越来越常见,电子设备的功能也越来越丰富。例如,电子设备中可以安装不同类别的应用(Application,APP),可以用于购物、出行、支付以及社交等场景。
[0003]用户点击应用程序图标以启动该应用时,如果电子设备的后台没有该应用的进程,那么,电子设备将创建新的进程并分配给该应用,上述应用启动方式称为应用冷启动。冷启动过程花费的时长是衡量应用启动优劣的指标之一,因此,需要检测应用冷启动所花费的时长。

技术实现思路

[0004]本申请实施例提供了应用启动耗时检测方法及相关装置,通过本申请可以有效地检测出应用冷启动的花费的时长。
[0005]第一方面,本申请实施例提供了一种应用启动耗时检测方法,包括:
[0006]检测目标事件以及活动组件,上述目标事件用于触发启动应用;
[0007]在检测到的活动组件满足预设条件的情况下,确定上述活动组件为目标活动组件,上述预设条件包括活动组件的类别信息为启动器且活动组件的动作信息为主函数;
[0008]将第一时刻与第二时刻之间的时间差作为上述目标活动组件对应的应用的启动时长,上述第一时刻为上述目标活动组件的第一帧图像绘制完成的时刻,上述第二时刻为上述第一时刻之前距离上述第一时刻最近的目标事件的检测时刻。
[0009]本申请实施例中,上述目标事件可以理解为用于触发启动应用的事件,示例性地,在以点击应用程序图标的用户操作作为触发条件启动应用的情况下,上述目标事件可以理解为点击事件或者点击触控屏之后的抬手事件。
[0010]电子设备检测目标事件可以通过监控触控屏的电容值实现,示例性地,电子设备可以包括触控屏,在通过电子设备的触摸屏的电容值变化确定发生触摸事件的情况下,根据上述触摸事件的变化检测上述目标事件。其中,触摸事件可以理解为用户采用任意方式触摸到触控屏的事件,例如可以是点击、双击、长按以及双指捏合等事件。
[0011]可以理解的是,电子设备的触控屏可以为电容式触摸屏,电容式触摸屏可以包括多个电容组成的电容阵列,可选地,可以将该多个电容阵列理解为感应器。在受到外界影响后,电容阵列中的电容量(也可以理解为电容值)会发生改变。示例性地,将手指按压在电容式触摸屏上时,电容阵列可以与手指上的电解液接触而形成电场,因此,电子设备可以感知到用户手指的触摸。根据触摸事件的变化,电子设备检测上述目标事件,确定是否出现上述目标事件。
[0012]本申请实施例中,活动组件可以理解为安卓系统中的activity组件,也可以简称
为activity。可以理解的是,用户点击应用程序图标触发启动该应用后,电子设备将启动activity;除了上述情况,电子设备进行界面切换也可能启动activity,例如图3中,响应于作用在账户按钮上的点击操作,电子设备从用户界面303跳转到账户界面也可能会启动activity。
[0013]电子设备检测activity可以理解为对activity进行监控,示例性地,电子设备可以监控事件日志(event log),其中,事件日志用于记录电子设备中已经启动的活动组件。因此,电子设备可以通过event log检测activity。
[0014]可以理解的是,一般地,在电子设备的使用过程中,先发生目标事件再启动activity,但是,检测目标事件与检测activity之间并不冲突,因此,本申请实施例中并不限定电子设备检测目标事件与电子设备检测activity之间的先后执行顺序。
[0015]可以理解的是,电子设备可以通过event log检测到电子设备中启动的各种activity。本申请实施例中,电子设备对检测到的activity进行识别,在检测到的活动组件满足预设条件的情况下,确定上述活动组件为目标活动组件。
[0016]可选地,上述目标活动组件也可以理解为后文实施例中的启动

activity,活动组件满足预设条件也可以理解为活动组件满足启动特征。
[0017]本实施例中,在activity的类别信息为启动器且活动组件的动作信息为主函数的情况下,电子设备可以认为activity为目标activity。其中,上述目标activity可以理解为用于计算应用冷启动耗时的activity,或者理解为用于合成启动场景的activity。示例性地,activity的类别信息为启动器也可以理解为activity的category信息为launcher,activity的动作信息为主函数也可以理解为activity的action信息为main。
[0018]在确定目标activity后,根据目标activity以及目标activity之前最近的目标事件即可得到应用的冷启动时长。可以理解的是,电子设备可以通过检测到的activity的名称确定出activity对应的应用,即检测到的activity属于哪一个应用。本申请实施例中,上述第一时刻可以理解为后文实施例中的第二参考时刻,上述第二时刻可以理解为后文实施例中的第一参考时刻,具体可以参阅后文实施例中的步骤606的描述,这里不再赘述。
[0019]本申请实施例中,通过识别满足预设条件的目标activity,将上述目标activity与目标activity之前最近的目标事件进行关联,将第一时刻与第二时刻之间的时间差作为上述目标活动组件对应的应用的启动时长,可以有效地得到从目标事件触发应用冷启动开始,到应用的第一个可视界面显示为结束之间的时长。
[0020]结合第一方面,在一种可能的实现方式中,上述方法还包括;
[0021]检测任务栈,上述任务栈用于存放活动组件;
[0022]在检测到任务栈被创建的情况下,将上述任务栈的标识设定为第一标识,上述第一标识用于表示上述任务栈对应的应用未完成启动耗时检测;
[0023]在检测到的活动组件不满足上述预设条件且上述活动组件所在的任务栈的标识为上述第一标识的情况下,确定上述活动组件为上述目标活动组件。
[0024]在安卓系统中,任务栈可以理解为用来存放activity的容器。一般地,如果当某个应用被启动时,安卓系统中不存在该应用的任务栈,那么,安卓系统会为该应用创建一个属于该应用的任务栈,该任务栈用于存放和管理该应用所启动的activity。
[0025]本实施例中,电子设备检测任务栈,在检测到有任务栈被创建的情况下,将上述任
务栈的标识设定为第一标识,其中,上述第一标识用于表示上述任务栈对应的应用未完成启动耗时检测。也就是说,本实施例中,电子设备给任务栈设定标识,该标识可以理解为启动标识,在任务栈被创建之初,任务栈的标识被设定为上述第一标识,可选地,上述第一标识可以理解为后文实施例中的标识A。
[0026]本实施例中,在检测到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用启动耗时检测方法,其特征在于,所述方法包括:检测目标事件以及活动组件,所述目标事件用于触发启动应用;在检测到的活动组件满足预设条件的情况下,确定所述活动组件为目标活动组件,所述预设条件包括活动组件的类别信息为启动器且活动组件的动作信息为主函数;将第一时刻与第二时刻之间的时间差作为所述目标活动组件对应的应用的启动时长,所述第一时刻为所述目标活动组件的第一帧图像绘制完成的时刻,所述第二时刻为所述第一时刻之前距离所述第一时刻最近的目标事件的检测时刻。2.根据权利要求1所述的方法,其特征在于,所述方法还包括;检测任务栈,所述任务栈用于存放活动组件;在检测到任务栈被创建的情况下,将所述任务栈的标识设定为第一标识,所述第一标识用于表示所述任务栈对应的应用未完成启动耗时检测;在检测到的活动组件不满足所述预设条件且所述活动组件所在的任务栈的标识为所述第一标识的情况下,确定所述活动组件为所述目标活动组件。3.根据权利要求2所述的方法,其特征在于,所述确定所述活动组件为所述目标活动组件之后,所述方法还包括;将所述活动组件所在的任务栈的标识修改为第二标识,所述第二标识用于表示所述任务栈对应的应用已完成启动耗时检测。4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括;在检测到的活动组件不满足所述预设条件,且所述活动组件所在的任务栈的标识为所述第二标识的情况下,确定所述活动组件不为所述目标...

【专利技术属性】
技术研发人员:崔鹏飞
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1