[發明專利]一種安卓線程異常處理方法、終端及計算機可讀存儲介質在審
| 申請號: | 202011508843.4 | 申請日: | 2020-12-18 |
| 公開(公告)號: | CN112559235A | 公開(公告)日: | 2021-03-26 |
| 發明(設計)人: | 唐東驕 | 申請(專利權)人: | 惠州TCL移動通信有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07 |
| 代理公司: | 深圳市君勝知識產權代理事務所(普通合伙) 44268 | 代理人: | 陳專 |
| 地址: | 516003 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 線程 異常 處理 方法 終端 計算機 可讀 存儲 介質 | ||
本發明公開了一種安卓線程異常處理方法、終端及計算機可讀存儲介質,所述方法包括:當子線程發生異常時,調用自定義處理器進行異常處理;當主線程發生異常時,在循環器的消息循環停止后重啟消息循環,并捕獲所述主線程的異常。本發明能夠實現不論是進程中的子線程或者主線程產生了異常,應用進程都不會崩潰,提升了用戶的使用體驗。
技術領域
本發明涉及安卓技術領域,特別涉及一種安卓線程異常處理方法、終端及計算機可讀存儲介質。
背景技術
智能終端上安裝的應用程序的種類和數量越來越多,當用戶正在使用應用時,如果某一線程發生異常,線程所在的進程就會崩潰,應用直接退出,用戶使用體驗差。
因此,現有技術還有待改進和提高。
發明內容
本發明提供一種安卓線程異常處理方法、終端及計算機可讀存儲介質,旨在解決現有技術中單個線程發生異常時線程所在的進程就會崩潰導致用戶使用體驗差的問題。
為了解決上述技術問題,本發明所采用的技術方案如下:
本發明的第一方面,提供一種安卓線程異常處理方法,包括:
當子線程發生異常時,調用自定義處理器進行異常處理;
當主線程發生異常時,在循環器的消息循環停止后重啟消息循環,并捕獲所述主線程的異常。
所述的安卓線程異常處理方法,其中,所述調用自定義處理器進行異常處理之前,所述方法還包括:
創建所述自定義處理器,定義所述自定義處理器的回調方法,所述自定義處理器的回調方法中不終止發生異常的線程所在的進程;
使用所述自定義處理器覆蓋安卓的第一默認線程異常處理器;
其中,所述第一默認線程異常處理器用于終止發生異常的線程所在的進程。
所述的安卓線程異常處理方法,其中,所述調用自定義處理器進行異常處理,包括:
調用所述自定義處理器將所述子線程的異常信息上傳至服務器。
所述的安卓線程異常處理方法,其中,所述調用所述自定義處理器將所述子線程的異常信息上傳至服務器之前,所述方法包括:
打印所述子線程的異常信息。
所述的安卓線程異常處理方法,其中,所述打印所述子線程的異常信息,包括:
調用安卓的第二默認子線程異常處理器打印所述子線程的異常信息。
所述的安卓線程異常處理方法,其中,所述在循環器的消息循環停止后重啟消息循環之前,包括:
建立循環模塊啟動循環,所述循環模塊啟動循環用于在所述循環器停止消息循環之后重啟所述循環器中的循環模塊并捕獲所述主線程的異常。
所述的安卓線程異常處理方法,其中,所述建立循環模塊啟動循環,包括:
向所述主線程中投遞循環建立消息,以使得所述主線程執行到所述循環建立消息時建立所述循環模塊啟動循環。
本發明的第二方面,提供一種安卓線程異常處理裝置,包括:
子線程異常處理模塊,用于在子線程發生異常時,調用自定義處理器進行異常處理;
主線程異常處理模塊,用于在主線程發生異常時,在循環器消息循環停止后重啟消息循環,并捕獲所述主線程的異常。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于惠州TCL移動通信有限公司,未經惠州TCL移動通信有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011508843.4/2.html,轉載請聲明來源鉆瓜專利網。





