[發(fā)明專利]一種內(nèi)存溢出管理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)在審
| 申請?zhí)枺?/td> | 202010726007.7 | 申請日: | 2020-07-24 |
| 公開(公告)號(hào): | CN111984401A | 公開(公告)日: | 2020-11-24 |
| 發(fā)明(設(shè)計(jì))人: | 王盟盟;彭飛;鄧竹立 | 申請(專利權(quán))人: | 五八有限公司 |
| 主分類號(hào): | G06F9/50 | 分類號(hào): | G06F9/50;G06F11/07 |
| 代理公司: | 北京潤澤恒知識(shí)產(chǎn)權(quán)代理有限公司 11319 | 代理人: | 呂俊秀 |
| 地址: | 300450 天津市濱海新區(qū)經(jīng)濟(jì)技術(shù)開*** | 國省代碼: | 天津;12 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 內(nèi)存 溢出 管理 方法 裝置 電子設(shè)備 存儲(chǔ) 介質(zhì) | ||
本發(fā)明提供了一種內(nèi)存溢出管理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。所述方法,包括:獲取目標(biāo)設(shè)備中實(shí)時(shí)使用的內(nèi)存空間數(shù)據(jù),以及目標(biāo)設(shè)備的內(nèi)存上限,所述內(nèi)存空間數(shù)據(jù)包括堆內(nèi)存空間數(shù)據(jù)、虛擬內(nèi)存空間數(shù)據(jù)中的至少一種;在所述內(nèi)存空間數(shù)據(jù)與所述內(nèi)存上限之間的距離小于預(yù)設(shè)數(shù)值的情況下,記錄內(nèi)存分配的堆棧信息,并且針對所述目標(biāo)設(shè)備前臺(tái)運(yùn)行的應(yīng)用程序設(shè)置內(nèi)存溢出標(biāo)識(shí);針對設(shè)置有內(nèi)存溢出標(biāo)識(shí)的每個(gè)應(yīng)用程序,根據(jù)所述內(nèi)存分配的堆棧信息,對所述應(yīng)用程序進(jìn)行內(nèi)存分析。從而取得了無需人工在開發(fā)階段分析內(nèi)存,節(jié)省需求開發(fā)中定位問題的時(shí)間,同時(shí)節(jié)約開發(fā)時(shí)間,提高了開發(fā)效率。可以準(zhǔn)確的檢測OOM造成系統(tǒng)殺死App的問題的有益效果。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種內(nèi)存溢出管理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù)
App(Application,應(yīng)用程序)的運(yùn)行穩(wěn)定性是保障業(yè)務(wù)開發(fā)的前提,同時(shí)也是衡量一個(gè)App是否優(yōu)秀的標(biāo)準(zhǔn)。同時(shí)App穩(wěn)定性越高,用戶體驗(yàn)也就更好,相對的用戶量也就越高。用戶量和日活的增加也就可以促進(jìn)App的運(yùn)營收入等以及其它一些隱形福利。所以保證App的穩(wěn)定性是每一個(gè)公司都要面對的一個(gè)問題。
App的不穩(wěn)定因素包括內(nèi)存使用過高,cpu消耗太大,電量消耗大,經(jīng)常崩潰等,都會(huì)造成App被殺死,那么重新進(jìn)入App需要走冷啟動(dòng)的流程。目前一般內(nèi)存方面都是通過xcode中的instrument工具來檢測內(nèi)存的使用情況和內(nèi)存泄漏,或者使用三方的sdk(Software Development Kit,軟件開發(fā)工具包)進(jìn)行檢測。但是上述方式需要安裝有相應(yīng)的工具,有太多局限性。而且,沒有一個(gè)工具化的手段分析App被殺死是因?yàn)閮?nèi)存造成的,也很難從源頭預(yù)防出現(xiàn)OOM(out ofmemory,內(nèi)存溢出)后導(dǎo)致App被系統(tǒng)殺死的問題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種內(nèi)存溢出管理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),以解決現(xiàn)有的內(nèi)存的使用情況監(jiān)測方式有太多局限性,且很難從源頭預(yù)防出現(xiàn)OOM后導(dǎo)致App被系統(tǒng)殺死的問題。
為了解決上述技術(shù)問題,本發(fā)明是這樣實(shí)現(xiàn)的:
第一方面,本發(fā)明實(shí)施例提供了一種內(nèi)存溢出管理方法,包括:
獲取目標(biāo)設(shè)備中實(shí)時(shí)使用的內(nèi)存空間數(shù)據(jù),以及所述目標(biāo)設(shè)備的內(nèi)存上限,所述內(nèi)存空間數(shù)據(jù)包括堆內(nèi)存空間數(shù)據(jù)、虛擬內(nèi)存空間數(shù)據(jù)中的至少一種;
在所述內(nèi)存空間數(shù)據(jù)與所述內(nèi)存上限之間的距離小于預(yù)設(shè)數(shù)值的情況下,記錄內(nèi)存分配的堆棧信息,并且針對所述目標(biāo)設(shè)備前臺(tái)運(yùn)行的應(yīng)用程序設(shè)置內(nèi)存溢出標(biāo)識(shí);
針對設(shè)置有內(nèi)存溢出標(biāo)識(shí)的每個(gè)應(yīng)用程序,根據(jù)所述內(nèi)存分配的堆棧信息,對所述應(yīng)用程序進(jìn)行內(nèi)存分析。
可選地,在所述針對設(shè)置有內(nèi)存溢出標(biāo)識(shí)的每個(gè)應(yīng)用程序,根據(jù)所述內(nèi)存分配的堆棧信息,對所述應(yīng)用程序進(jìn)行內(nèi)存分析的步驟之前,還包括:
針對所述目標(biāo)設(shè)備前臺(tái)運(yùn)行的應(yīng)用程序,如果所述應(yīng)用程序收到內(nèi)存警告,記錄內(nèi)存分配的堆棧信息,并且針對所述應(yīng)用程序設(shè)置內(nèi)存溢出標(biāo)識(shí)。
可選地,所述記錄內(nèi)存分配的堆棧信息,并且針對所述目標(biāo)設(shè)備前臺(tái)運(yùn)行的應(yīng)用程序設(shè)置內(nèi)存溢出標(biāo)識(shí)的步驟,包括:
在所述目標(biāo)設(shè)備本地為所述應(yīng)用程序分配的存儲(chǔ)空間中,記錄內(nèi)存分配的堆棧信息,并且針對所述應(yīng)用程序設(shè)置內(nèi)存溢出標(biāo)識(shí)。
可選地,所述針對設(shè)置有內(nèi)存溢出標(biāo)識(shí)的每個(gè)應(yīng)用程序,根據(jù)所述內(nèi)存分配的堆棧信息,對所述應(yīng)用程序進(jìn)行內(nèi)存分析的步驟,包括:
針對設(shè)置有內(nèi)存溢出標(biāo)識(shí)的每個(gè)應(yīng)用程序,如果所述應(yīng)用程序被殺死,在所述應(yīng)用程序再次冷啟動(dòng)時(shí),從所述目標(biāo)設(shè)備本地獲取所述應(yīng)用程序?qū)?yīng)的的堆棧信息;
根據(jù)所述內(nèi)存分配的堆棧信息,對所述應(yīng)用程序進(jìn)行內(nèi)存分析。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于五八有限公司,未經(jīng)五八有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010726007.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





