[發(fā)明專利]一種內(nèi)存泄漏處理方法、裝置、計算機設(shè)備和存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 202310217900.0 | 申請日: | 2023-03-03 |
| 公開(公告)號: | CN116204449A | 公開(公告)日: | 2023-06-02 |
| 發(fā)明(設(shè)計)人: | 龔世杰 | 申請(專利權(quán))人: | 抖音視界有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F12/1009 |
| 代理公司: | 北京中知法苑知識產(chǎn)權(quán)代理有限公司 11226 | 代理人: | 趙吉陽 |
| 地址: | 100041 北京市石景山區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 內(nèi)存 泄漏 處理 方法 裝置 計算機 設(shè)備 存儲 介質(zhì) | ||
本公開提供了一種內(nèi)存泄漏處理方法、裝置、計算機設(shè)備和存儲介質(zhì),其中,該方法包括:響應(yīng)于內(nèi)存泄漏檢測功能被觸發(fā),確定在列表頁中已創(chuàng)建的數(shù)據(jù)實例對象中、生命周期結(jié)束的第一對象的第一數(shù)量;所述列表頁用于展示已創(chuàng)建的所述數(shù)據(jù)實例對象,不同的數(shù)據(jù)實例對象占用的內(nèi)存大小不同;根據(jù)所述第一數(shù)量和所述列表頁關(guān)聯(lián)的對象引用隊列中存儲的、已被回收的第一對象的第二數(shù)量,確定當(dāng)前發(fā)生內(nèi)存泄漏的第二對象的第三數(shù)量;對各所述第二對象所占用的內(nèi)存進行釋放,并將根據(jù)所述第三數(shù)量生成的內(nèi)存泄漏信息上報至服務(wù)端;所述服務(wù)端用于根據(jù)來自不同客戶端的內(nèi)存泄漏信息,生成內(nèi)存泄漏報告。
技術(shù)領(lǐng)域
本公開涉及計算機技術(shù)領(lǐng)域,具體而言,涉及一種內(nèi)存泄漏處理方法、裝置、計算機設(shè)備和存儲介質(zhì)。
背景技術(shù)
列表頁作為應(yīng)用信息展示的一個主要窗口,可以以數(shù)據(jù)卡片的形式,展示利用從服務(wù)端獲取的各個數(shù)據(jù)包創(chuàng)建的各個數(shù)據(jù)實例對象。隨著對列表頁的不斷刷新,可以實現(xiàn)對列表頁中展示的數(shù)據(jù)實例對象的刷新展示。
同時,隨著列表頁使用時長的不斷增加以及對列表頁的不斷刷新,列表頁占用的內(nèi)存也將不斷增長,最終可能會造成內(nèi)存用盡、頁面卡頓的問題。因此,如何對列表頁所占的內(nèi)存進行優(yōu)化,成為了一個技術(shù)痛點。
發(fā)明內(nèi)容
本公開實施例至少提供一種內(nèi)存泄漏處理方法、裝置、計算機設(shè)備和存儲介質(zhì)。
第一方面,本公開實施例提供了一種內(nèi)存泄漏處理方法,包括:
響應(yīng)于內(nèi)存泄漏檢測功能被觸發(fā),確定在列表頁中已創(chuàng)建的數(shù)據(jù)實例對象中、生命周期結(jié)束的第一對象的第一數(shù)量;所述列表頁用于展示已創(chuàng)建的所述數(shù)據(jù)實例對象,不同的數(shù)據(jù)實例對象占用的內(nèi)存大小不同;
根據(jù)所述第一數(shù)量和所述列表頁關(guān)聯(lián)的對象引用隊列中存儲的、已被回收的第一對象的第二數(shù)量,確定當(dāng)前發(fā)生內(nèi)存泄漏的第二對象的第三數(shù)量;
對各所述第二對象所占用的內(nèi)存進行釋放,并將根據(jù)所述第三數(shù)量生成的內(nèi)存泄漏信息上報至服務(wù)端;所述服務(wù)端用于根據(jù)來自不同客戶端的內(nèi)存泄漏信息,生成內(nèi)存泄漏報告。
在一種可能的實施方式中,所述數(shù)據(jù)實例對象的生命周期根據(jù)以下步驟確定:
接收所述服務(wù)端反饋的與所述數(shù)據(jù)實例對象相匹配的數(shù)據(jù)包;
根據(jù)所述數(shù)據(jù)包在所述列表頁中創(chuàng)建所述數(shù)據(jù)實例對象,并確定所述數(shù)據(jù)實例對象的生命周期開始;
響應(yīng)于針對當(dāng)前展示有所述數(shù)據(jù)實例對象的列表頁的頁面內(nèi)容刷新操作,確定所述數(shù)據(jù)實例對象的生命周期結(jié)束。
在一種可能的實施方式中,在所述根據(jù)所述數(shù)據(jù)包在所述列表頁中創(chuàng)建所述數(shù)據(jù)實例對象之后,還包括:
建立所述數(shù)據(jù)實例對象與所述對象引用隊列之間的關(guān)聯(lián)關(guān)系;
在所述確定所述數(shù)據(jù)實例對象的生命周期結(jié)束之后,還包括:
響應(yīng)于所述數(shù)據(jù)實例對象在生命周期結(jié)束之后的預(yù)設(shè)時間段內(nèi)被回收,按照所述關(guān)聯(lián)關(guān)系將所述數(shù)據(jù)實例對象存儲至所述對象引用隊列中。
在一種可能的實施方式中,所述對各所述第二對象所占用的內(nèi)存進行釋放,包括:
對所述列表頁加載過程中所使用的內(nèi)存信息進行回撈,得到所述列表頁對應(yīng)的堆內(nèi)存信息;所述堆內(nèi)存信息中包括在所述列表頁中已創(chuàng)建的各個數(shù)據(jù)實例對象分別對應(yīng)的引用鏈信息;
根據(jù)所述堆內(nèi)存信息中與各所述第二對象相關(guān)的目標引用鏈信息,確定各所述第二對象的內(nèi)存泄漏原因;
根據(jù)各所述第二對象的所述內(nèi)存泄漏原因,對各所述第二對象所占用的內(nèi)存分別進行釋放。
在一種可能的實施方式中,所述將根據(jù)所述第三數(shù)量生成的內(nèi)存泄漏信息上報至服務(wù)端,包括:
該專利技術(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/202310217900.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





