[发明专利]一种安卓线程异常处理方法、终端及计算机可读存储介质在审
申请号: | 202011508843.4 | 申请日: | 2020-12-18 |
公开(公告)号: | CN112559235A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 唐东骄 | 申请(专利权)人: | 惠州TCL移动通信有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 陈专 |
地址: | 516003 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 线程 异常 处理 方法 终端 计算机 可读 存储 介质 | ||
本发明公开了一种安卓线程异常处理方法、终端及计算机可读存储介质,所述方法包括:当子线程发生异常时,调用自定义处理器进行异常处理;当主线程发生异常时,在循环器的消息循环停止后重启消息循环,并捕获所述主线程的异常。本发明能够实现不论是进程中的子线程或者主线程产生了异常,应用进程都不会崩溃,提升了用户的使用体验。
技术领域
本发明涉及安卓技术领域,特别涉及一种安卓线程异常处理方法、终端及计算机可读存储介质。
背景技术
智能终端上安装的应用程序的种类和数量越来越多,当用户正在使用应用时,如果某一线程发生异常,线程所在的进程就会崩溃,应用直接退出,用户使用体验差。
因此,现有技术还有待改进和提高。
发明内容
本发明提供一种安卓线程异常处理方法、终端及计算机可读存储介质,旨在解决现有技术中单个线程发生异常时线程所在的进程就会崩溃导致用户使用体验差的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
本发明的第一方面,提供一种安卓线程异常处理方法,包括:
当子线程发生异常时,调用自定义处理器进行异常处理;
当主线程发生异常时,在循环器的消息循环停止后重启消息循环,并捕获所述主线程的异常。
所述的安卓线程异常处理方法,其中,所述调用自定义处理器进行异常处理之前,所述方法还包括:
创建所述自定义处理器,定义所述自定义处理器的回调方法,所述自定义处理器的回调方法中不终止发生异常的线程所在的进程;
使用所述自定义处理器覆盖安卓的第一默认线程异常处理器;
其中,所述第一默认线程异常处理器用于终止发生异常的线程所在的进程。
所述的安卓线程异常处理方法,其中,所述调用自定义处理器进行异常处理,包括:
调用所述自定义处理器将所述子线程的异常信息上传至服务器。
所述的安卓线程异常处理方法,其中,所述调用所述自定义处理器将所述子线程的异常信息上传至服务器之前,所述方法包括:
打印所述子线程的异常信息。
所述的安卓线程异常处理方法,其中,所述打印所述子线程的异常信息,包括:
调用安卓的第二默认子线程异常处理器打印所述子线程的异常信息。
所述的安卓线程异常处理方法,其中,所述在循环器的消息循环停止后重启消息循环之前,包括:
建立循环模块启动循环,所述循环模块启动循环用于在所述循环器停止消息循环之后重启所述循环器中的循环模块并捕获所述主线程的异常。
所述的安卓线程异常处理方法,其中,所述建立循环模块启动循环,包括:
向所述主线程中投递循环建立消息,以使得所述主线程执行到所述循环建立消息时建立所述循环模块启动循环。
本发明的第二方面,提供一种安卓线程异常处理装置,包括:
子线程异常处理模块,用于在子线程发生异常时,调用自定义处理器进行异常处理;
主线程异常处理模块,用于在主线程发生异常时,在循环器消息循环停止后重启消息循环,并捕获所述主线程的异常。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠州TCL移动通信有限公司,未经惠州TCL移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011508843.4/2.html,转载请声明来源钻瓜专利网。