[發明專利]防止Activity生命周期異常的方法、電子裝置及計算機可讀存儲介質有效
| 申請號: | 201810812109.3 | 申請日: | 2018-07-23 |
| 公開(公告)號: | CN108958980B | 公開(公告)日: | 2021-07-09 |
| 發明(設計)人: | 吳慶 | 申請(專利權)人: | OPPO(重慶)智能科技有限公司 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14 |
| 代理公司: | 深圳市恒申知識產權事務所(普通合伙) 44312 | 代理人: | 彭海民 |
| 地址: | 401120 重慶*** | 國省代碼: | 重慶;50 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 防止 activity 生命周期 異常 方法 電子 裝置 計算機 可讀 存儲 介質 | ||
1.一種防止Activity生命周期異常的方法,其特征在于,包括:
監聽進程的狀態;
若被監聽的進程已終結,則檢測是否重建已終結進程;
若重建所述已終結進程,則強制將返回棧頂部的Activity進行恢復操作,以將所述恢復的Activity對應用戶界面顯示于終端的前臺;
其中,所述強制將返回棧頂部的Activity進行恢復操作,以將所述恢復的Activity對應用戶界面顯示于終端的前臺,包括:
獲取觸發重建所述已終結進程的原因;
若觸發重建所述已終結進程的原因是啟動廣播接收器組件、啟動服務組件和啟動內容提供商組件中的任意一種,則在移除所述已終結進程的相關數據時將所述返回棧頂部的Activity進行恢復操作;或者
獲取觸發重建所述已終結進程的原因;
若觸發重建所述已終結進程的原因為啟動廣播接收器組件,則禁止對所述已終結進程的相關數據執行移除操作;
等待所述已終結進程的進程終結通知;
在所述已終結進程的進程終結通知到達時對所述返回棧頂部的Activity執行恢復操作;或者
禁止所述已終結進程在被終結之前發送廣播消息;
等待所述已終結進程的進程終結通知;
在所述已終結進程的進程終結通知到達時對所述返回棧頂部的Activity執行恢復操作。
2.根據權利要求1所述的防止Activity生命周期異常的方法,其特征在于,所述禁止對所述已終結進程的相關數據執行移除操作,包括:
通過進程創建函數獲取所述已終結進程的名稱或標識;
根據對所述已終結進程的名稱或標識的記錄,跳過對已終結進程數據清理函數的調用。
3.根據權利要求1所述的防止Activity生命周期異常的方法,其特征在于,所述獲取觸發重建所述已終結進程的原因,包括:
調用進程創建函數;
根據所述進程創建函數中參數的值包含的Activity、廣播接收器組件、服務組件和內容提供商組件中的任意一種,確定觸發重建所述已終結進程的原因。
4.根據權利要求1所述的防止Activity生命周期異常的方法,其特征在于,所述禁止所述已終結進程在被終結之前發送廣播消息,包括:
進程管理器將廣播發送進程的廣播消息發送函數的使能參數設置為使不能。
5.一種電子裝置,其特征在于,包括:
狀態監聽模塊,用于監聽進程的狀態;
檢測模塊,用于若被監聽的進程已終結,則檢測是否重建已終結進程;
強制恢復模塊,用于若重建所述已終結進程,則強制將返回棧頂部的Activity進行恢復操作,以將所述恢復的Activity對應用戶界面顯示于終端的前臺;
其中,所述強制恢復模塊包括:
終結原因獲取單元,用于獲取觸發重建所述已終結進程的原因;
第一執行單元,用于若觸發重建所述已終結進程的原因是啟動廣播接收器組件、啟動服務組件和啟動內容提供商組件中的任意一種,則在移除所述已終結進程的相關數據時將所述返回棧頂部的Activity進行恢復操作;或者
終結原因獲取單元,用于獲取觸發重建所述已終結進程的原因;
第一禁止單元,用于若觸發重建所述已終結進程的原因為啟動廣播接收器組件,則禁止對所述已終結進程的相關數據執行移除操作;
等待單元,用于等待所述已終結進程的進程終結通知;
第二執行單元,用于在所述已終結進程的進程終結通知到達時對所述返回棧頂部的Activity執行恢復操作;或者
第二禁止單元,用于禁止所述已終結進程在被終結之前發送廣播消息;
等待單元,用于所述已終結進程的進程終結通知;
第二執行單元,用于在所述已終結進程的死亡通知到達時對所述返回棧頂部的Activity執行恢復操作。
6.根據權利要求5所述的電子裝置,其特征在于,所述第一禁止單元包括:
進程獲取單元,用于通過進程創建函數獲取所述已終結進程的名稱或標識;
禁止調用單元,用于根據對所述已終結進程的名稱或標識的記錄,跳過對已終結進程數據清理函數的調用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于OPPO(重慶)智能科技有限公司,未經OPPO(重慶)智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810812109.3/1.html,轉載請聲明來源鉆瓜專利網。





