[发明专利]应用耗电监控方法及装置有效
申请号: | 201810418681.1 | 申请日: | 2018-05-04 |
公开(公告)号: | CN108647127B | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 姜磊;万宇;冯舟;汤浩 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F1/28 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 刘映东 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 耗电 监控 方法 装置 | ||
1.一种应用耗电监控方法,其特征在于,所述方法包括:
在自应用切换至后台运行起的两个时间点,分别确定所述应用对处理器的已占用时长,得到第一时长和第二时长,所述两个时间点相距第一预设时长;
当所述第一时长和所述第二时长的差值大于预设阈值时,确定所述应用在后台耗电异常,并获取所述应用在当前时间点之后第二预设时长内的运行数据;
根据所述运行数据获取所述应用的耗电异常原因,或者,将所述运行数据发送给服务器,由所述服务器根据所述运行数据获取所述应用的耗电异常原因;
其中,所述耗电异常原因是指所述应用在所述第二预设时长内调用的至少一个目标调用栈,所述至少一个目标调用栈是指调用次数大于预设次数和/或执行时长大于第三预设时长的调用栈;
所述运行数据包括每个目标线程执行的方法组成的调用栈、以及所述每个目标线程执行的方法中每个方法的执行时长和/或调用次数,所述目标线程为所述应用在所述第二预设时长内运行的线程;所述根据所述运行数据获取所述应用的耗电异常原因,包括:
对所述每个目标线程执行的方法组成的调用栈、以及所述每个目标线程执行的方法中每个方法的执行时长和/或调用次数进行统计,得到所有所述目标线程调用的方法组成的调用栈中每个调用栈的调用次数和/或执行时长,每个调用栈指示应用执行的一个具体任务,每个调用栈的执行时长是指构成所述每个调用栈的每个方法的执行时长的总和;
根据所有所述目标线程调用的方法组成的调用栈中每个调用栈的调用次数和/或执行时长,从所有所述目标线程调用的方法组成的调用栈中确定所述至少一个目标调用栈;将所述至少一个目标调用栈,确定为所述应用的耗电异常原因。
2.如权利要求1所述的方法,其特征在于,所述获取所述应用在当前时间点之后第二预设时长内的运行数据,包括:
调用性能分析功能,通过所述性能分析功能获取所述应用在所述第二预设时长内的运行数据。
3.如权利要求1或2所述的方法,其特征在于,所述将所述运行数据发送给服务器,由所述服务器根据所述运行数据获取所述应用的耗电异常原因,包括:
将所述运行数据发送给服务器,由所述服务器根据所述运行数据获取所述应用的耗电异常原因;
接收所述服务器发送的所述耗电异常原因。
4.如权利要求1或2所述的方法,其特征在于,所述确定所述应用对处理器的已占用时长,包括:
确定所述应用分别在用户态和核心态的已运行时长;
根据所述应用分别在用户态和核心态的已运行时长,确定所述应用对所述处理器的已占用时长。
5.如权利要求4所述的方法,其特征在于,所述确定所述应用分别在用户态和核心态的已运行时长,包括:
调用系统信息接口,通过所述系统信息接口获取所述应用的进程信息;
从所述进程信息中获取所述应用在用户态的已运行时长,并从所述进程信息中获取所述应用在核心态的已运行时长。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810418681.1/1.html,转载请声明来源钻瓜专利网。