[发明专利]一种应用Activity渲染时间获取方法和装置有效
申请号: | 201510939602.8 | 申请日: | 2015-12-15 |
公开(公告)号: | CN105573755B | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 姜阳阳;袁任娜 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用 activity 渲染 时间 获取 方法 装置 | ||
1.一种应用Activity渲染时间获取方法,包括:
在一目标应用的各个Activity启动时,通过钩取系统的Activity启动函数,获取系统时间的第一时间点;
在所述Activity渲染完成时,通过钩取系统Activity渲染完成函数,获取系统时间的第二时间点;
将所述第二时间点减去第一时间点,得到所述Activity的渲染时间。
2.根据权利要求1所述的方法,其特征在于,在将所述第二时间点减去第一时间点,得到所述Activity的渲染时间的步骤之后,还包括:
将所述Activity的渲染时间进行展示。
3.根据权利要求2所述的方法,其特征在于,将所述Activity的渲染时间进行展示的步骤包括:
将所述Activity的渲染时间以广播的形式发送给第一进程;
所述第一进程接收到所述Activity渲染时间后,将所述Activity的渲染时间进行展示。
4.根据权利要求1所述的方法,其特征在于,在所述将所述第二时间点减去第一时间点,得到所述Activity的渲染时间的步骤之后,还包括:
将所述Activity的渲染时间与预定的时间阈值进行比较;
当所述渲染时间小于等于预定的时间阈值,则确定所述Activity的性能符合要求;
当所述渲染时间大于预定的时间阈值,则确定所述Activity的性能不符合要求。
5.根据权利要求4所述的方法,其特征在于,在确定所述Activity的性能不符合要求的步骤之后,还包括:
针对所述Activity生成报警信息。
6.根据权利要求1的所述的方法,其特征在于,在一目标应用的各个Activity启动时,通过钩取系统的Activity启动函数,获取系统时间的第一时间点的步骤,包括:
监控所述目标应用针对一个Activity,是否调用OnCreate函数,如果是,则通过第一钩子函数钩取所述OnCreate函数;
通过第一钩子函数获取系统时间的第一时间点。
7.根据权利要求6的所述的方法,其特征在于,所述在所述Activity渲染完成时,通过钩取系统Activity渲染完成函数,获取系统时间的第二时间点的步骤,包括:
监控所述目标应用针对所述Activity,是否调用OnWindowFocused函数,如果是,则通过第二钩子函数钩取所述OnWindowFocused函数;
通过第二钩子函数获取系统时间的第二时间点。
8.根据权利要求7所述的方法,其特征在于,在监控所述目标应用针对一个Activity,是否调用OnCreate函数,如果是,则通过第一钩子函数钩取所述OnCreate函数的步骤之前,还包括:
将所述第一钩子函数和第二钩子函数注入目标应用的应用进程中。
9.根据权利要求8所述的方法,其特征在于,所述将所述第一钩子函数和第二钩子函数注入目标应用的应用进程中的步骤包括:
在系统启动时,将系统自带的初始孵化进程替换为预定的第一孵化进程;
通过所述第一孵化进程将所述第一钩子函数和第二钩子函数注入目标应用的应用进程中。
10.根据权利要求9所述的方法,其特征在于,所述通过所述第一孵化进程将所述第一钩子函数和第二钩子函数注入目标应用的应用进程中的步骤,包括:
通过所述第一孵化进程监控目标应用的应用进程是否开始启动;
如果应用进程开始启动,则将第一钩子函数和/或第二钩子函数注入所述应用进程,完成应用进程的启动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510939602.8/1.html,转载请声明来源钻瓜专利网。