[发明专利]避免应用触发ANR的方法及装置有效
申请号: | 201710249050.7 | 申请日: | 2017-04-17 |
公开(公告)号: | CN108733435B | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | 郑涛 | 申请(专利权)人: | 北京嘀嘀无限科技发展有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F9/54 |
代理公司: | 北京睿派知识产权代理事务所(普通合伙) 11597 | 代理人: | 刘锋 |
地址: | 100193 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 避免 应用 触发 anr 方法 装置 | ||
一种避免应用触发ANR的方法及装置,应用于终端设备技术领域。所述方法包括:确认第一进程的UI线程待执行的操作为耗时操作;启动第二进程对应的第二Activity实例,并将所述第二Activity实例在Activity栈中的位置确定为Activity栈的顶端;所述第一进程的UI线程开始执行所述耗时操作;当所述UI线程执行完所述耗时操作后,将所述第一进程对应的第一Activity实例在所述Activity栈中的位置变更为所述Activity栈的顶端。基于申请实施例的方案,在通过UI线程执行耗时操作的过程中,可有效避免应用程序因一段时间无法响应用户的交互事件而弹出ANR对话框。
技术领域
本申请涉及终端设备技术领域,尤其涉及一种避免应用触发ANR的方法及装置。
背景技术
在一些计算机设备的操作系统(如:andriod)中,如果某应用程序在一段时间内未响应用户的交互事件,则操作系统会显示一个应用程序无响应(Application NotResponding,ANR)对话框。在相关技术中,可通过避免在UI线程处理耗时操作来降低出现ANR对话框的可能性。然而,在实际应用中,仍然存在通过UI线程处理一些耗时操作的需求,如何在通过UI线程处理一些耗时操作的过程中避免出现ANR对话框,是业界关注的焦点之一。
发明内容
为克服相关技术中存在的问题,本申请实施例提供一种避免应用触发ANR的方法及装置。
根据本申请实施例的第一方面,提供一种避免应用触发ANR的方法,包括:
确认第一进程的UI线程待执行的操作为耗时操作;
启动第二进程对应的第二Activity实例,并将所述第二Activity实例在Activity栈中的位置确定为Activity栈的顶端;
所述第一进程的UI线程开始执行所述耗时操作;
当所述UI线程执行完所述耗时操作后,将所述第一进程对应的第一Activity实例在所述Activity栈中的位置变更为所述Activity栈的顶端。
根据本申请实施例的第二方面,提供一种避免应用触发ANR的方法,包括:
确认第一进程的UI线程待执行的操作为耗时操作;
所述第一进程的UI线程开始执行所述耗时操作;
在触发应用程序无响应所述ANR对话框之前,启动第二进程对应的第二Activity实例,并将所述第二Activity实例在Activity栈中的位置确定为Activity栈的顶端;
当所述UI线程执行完所述耗时操作后,将所述第一进程对应的第一Activity实例在所述Activity栈中的位置变更为所述Activity栈的顶端。
根据本申请实施例的第三方面,提供一种避免应用触发ANR的方法,包括:
第一进程的UI线程执行操作;
确认所述操作为耗时操作;
在触发应用程序无响应所述ANR对话框之前,启动第二进程对应的第二Activity实例,并将所述第二Activity实例在Activity栈中的位置确定为Activity栈的顶端;
当所述UI线程执行完所述耗时操作后,将所述第一进程对应的第一Activity实例在所述Activity栈中的位置变更为所述Activity栈的顶端。
根据本申请实施例的第四方面,提供一种避免应用触发ANR的装置,包括:
确认单元,用于确认第一进程的UI线程待执行的操作为耗时操作;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京嘀嘀无限科技发展有限公司,未经北京嘀嘀无限科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710249050.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:座椅的自动避让方法及智能座椅
- 下一篇:系统设置方法及终端