[發明專利]一種多窗口泄露處理方法、設備及計算機可讀存儲介質在審
| 申請號: | 202111552638.2 | 申請日: | 2021-12-17 |
| 公開(公告)號: | CN114253687A | 公開(公告)日: | 2022-03-29 |
| 發明(設計)人: | 張樂 | 申請(專利權)人: | 深圳市中興移動軟件有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50;G06F16/29;H04M1/72448 |
| 代理公司: | 深圳協成知識產權代理事務所(普通合伙) 44458 | 代理人: | 伍永森 |
| 地址: | 518000 廣東省深圳市南山區桃源街道福*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 窗口 泄露 處理 方法 設備 計算機 可讀 存儲 介質 | ||
本發明公開了一種多窗口泄露處理方法、設備及計算機可讀存儲介質,其中,該方法包括:在應用申請顯示一個窗口時,獲取所述應用的進程號;根據所述進程號在預設的散列數據中獲取所述應用對應的申請次數;判斷所述申請次數是否大于預設值;若所述申請次數大于所述預設值,則殺除所述應用對應的進程,若所述申請次數小于所述預設值,則對所述散列數據中的所述申請次數執行加1。實現了一種高效的應用多窗口內存泄漏處理方案,通過清晰、簡明的邏輯條件判定,使得窗口創建得到有效控制,避免了卡頓現象,提高了系統的流暢度,增強了用戶的使用體驗。
技術領域
本發明涉及移動通信領域,尤其涉及一種多窗口泄露處理方法、設備及計算機可讀存儲介質。
背景技術
現有技術中,隨著智能終端設備的不斷發展,手機等設備的運行內存雖然在一直變大,但是用戶實際使用手機的過程中,還是會因為安裝的應用越來越多和使用場景越來越多導致手機卡頓,其中一個很重要的原因就是應用的內存泄露導致手機運行的過程中出現卡頓。由于應用在穩定性和性能方面參差不齊,導致應用會重新窗口泄露的問題,導致內存泄露,使手機因為同時繪制多個窗口和缺少內存的變的越來越卡頓。而上述場景屬于不可預期的問題,難以從源頭上解決。
發明內容
為了解決現有技術中的上述技術缺陷,本發明提出了一種多窗口泄露處理方法,該方法包括:
在應用申請顯示一個窗口時,獲取所述應用的進程號。
根據所述進程號在預設的散列數據中獲取所述應用對應的申請次數。
判斷所述申請次數是否大于預設值。
若所述申請次數大于所述預設值,則殺除所述應用對應的進程,若所述申請次數小于所述預設值,則對所述散列數據中的所述申請次數執行加1。
可選地,所述在應用申請顯示一個窗口時,獲取所述應用的進程號,之前包括:
創建散列地圖HashMap類型的數據結構。
通過所述散列地圖HashMap類型的數據結構記錄所述應用創建的窗口數量。
可選地,所述在應用申請顯示一個窗口時,獲取所述應用的進程號,之前還包括:
將所述應用的進程號PID作為所述散列地圖HashMap類型的數據結構的取值key。
設置自定義的進程項目ProcessItem的數據類型。
可選地,所述在應用申請顯示一個窗口時,獲取所述應用的進程號,之前還包括:
在所述進程項目ProcessItem的數據類型中,由窗口數mWindowNum的int類型數據記錄所述申請次數。
在所述進程項目ProcessItem的數據類型中,由包名mPkg的String類型數據記錄所述應用的進程包名。
可選地,所述在應用申請顯示一個窗口時,獲取所述應用的進程號,包括:
在所述應用申請創建Activity活動窗口、Dialog交互窗口以及Window顯示窗口中的一種或多種時,調用系統的WindowManagerService窗口管理服務的addWindow增加窗口方法。
通過所述WindowManagerService窗口管理服務獲取所述應用的所述進程號PID,以及所述應用的進程包名。
可選地,所述根據所述進程號在預設的散列數據中獲取所述應用對應的申請次數,包括:
在所述散列地圖HashMap類型的數據結構中,判斷所述進程項目ProcessItem的數據類型是否為空。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市中興移動軟件有限公司,未經深圳市中興移動軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111552638.2/2.html,轉載請聲明來源鉆瓜專利網。





