[发明专利]针对应用卡顿的处理方法、装置和电子设备有效
申请号: | 202010211585.7 | 申请日: | 2020-03-24 |
公开(公告)号: | CN111443957B | 公开(公告)日: | 2021-10-26 |
发明(设计)人: | 王小龙;赵俊;王凯 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 北京汇思诚业知识产权代理有限公司 11444 | 代理人: | 冯伟 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 应用 处理 方法 装置 电子设备 | ||
本申请实施例提供一种针对应用卡顿的处理方法、装置和电子设备。方法包括:判断应用主线程的事件处理队列中的新加入事件是否需要被优先响应;当所述新加入事件需要被优先响应时,判断所述新加入事件在所述事件处理队列中的等待时间是否超过预设时间阈值;当超过时,收回所述应用主线程的代码执行权;重新排列所述事件处理队列,包括,将所述新加入事件排在重排后的事件处理队列的第一位;恢复所述应用主线程的代码执行权,令所述应用主线程执行重排后的事件处理队列。根据本申请一实施例的方法,通过重排应用主线程的事件处理队列,优先执行需要优先响应的事件,避免由于事件处理时间过长而导致用户产生等待感,从而大大提高了用户体验。
技术领域
本申请涉及智能终端技术领域,特别涉及一种针对应用卡顿的处理方法、装置和电子设备。
背景技术
在计算机应用场景中,为了使用计算机硬件设备实现各种不同的应用功能,技术人员开发了众多具备各种应用功能的应用软件。随着计算机硬件技术的不断发展,计算机终端在人类的日常生产生活中的应用范围不断扩大,应用软件的种类也不断增长。
在实际应用场景中,在硬件设备上安装有操作系统(例如,安卓(Android)系统),在操作系统中加载有应用软件,应用软件运行在操作系统的系统框架下。由于计算机硬件处理性能不足、和/或计算机硬件错误、和/或系统框架设计缺陷、和/或软件设计缺陷、和/或输入数据错误等因素的存在,在使用应用软件的过程中,会出现应用软件运行卡顿的情况(例如,应用无响应(Application Not Responding,ANR)),大大影响了用户使用应用软件的用户体验。
发明内容
本申请提供了一种针对应用卡顿的处理方法、装置和电子设备,本申请还提供一种计算机可读存储介质,以提供一种在应用软件外部的数据处理方式,降低应用卡顿对用户造成的操作影响,提高应用软件使用的用户体验。
本申请实施例采用下述技术方案:
第一方面,本申请提供了一种针对应用卡顿的处理方法,包括:
监控应用主线程的事件处理队列,判断事件处理队列中的新加入事件是否需要被优先响应;具体的,需要被优先响应的事件包括但不限于会向用户反馈信息的事件;例如,在根据本申请一实施例的应用场景中,将响应被迟滞后会导致用户产生等待感的事件均定义为需要优先响应;例如,会向用户反馈信息的预定时处理事件和/或周期处理事件;
当新加入事件需要被优先响应时,计算新加入事件在事件处理队列中的等待时间,判断等待时间是否超过预设时间阈值;预设时间阈值的大小可以在具体实现时根据装置性能和/实现需求等自行设定,本实施例对预设时间阈值的大小不作限定,举例来说,根据用户的感知习惯设置预设时间阈值,以用户不会明显有等待感的事件长度为预设时间阈值,例如,将预设时间阈值设定为1秒;
当等待时间超过预设时间阈值时,收回应用主线程的代码执行权;
在应用主线程的代码执行权被收回后,重新排列事件处理队列,包括:
前移新加入事件的排位,,将新加入事件排在重排后的事件处理队列的第一位;
移除阻塞事件或后移阻塞事件的排位,其中,阻塞事件为事件处理队列被重排前,排在第一位且被主线程执行的事件;即,相较于重排前的事件处理队列,在重排后的事件处理队列中,阻塞事件被移除或阻塞事件的排位被后移;在重新排列事件处理队列的过程中,对阻塞事件是采用排位后移方案还是移除方案,是由具体实现时根据装置性能和/实现需求等决定的;本实施例对重新排列事件处理队列的过程中针对阻塞事件所采用的方案不做明确限定;举例来说,根据阻塞事件的具体内容来确定针对阻塞事件所采用的方案,例如,当阻塞事件为针对用户的关键信息反馈和/或阻塞事件被一个或多个后续事件依赖时,在重新排列事件处理队列的过程中后移阻塞事件的排位;当阻塞事件为独立非关键事件(例如,自动检索升级文件)时,在重新排列事件处理队列的过程中移除阻塞事件,待后续重置阻塞事件的输入参数后再重新发起阻塞事件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010211585.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防止数据丢失的计算机系统及方法
- 下一篇:一种消息通信系统