最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

內(nèi)存管理方法、裝置、設備、存儲介質(zhì)及計算機程序產(chǎn)品與流程

文檔序號:41954680發(fā)布日期:2025-05-16 14:20閱讀:3來源:國知局
內(nèi)存管理方法、裝置、設備、存儲介質(zhì)及計算機程序產(chǎn)品與流程

本技術涉及計算機,尤其涉及一種內(nèi)存管理方法、內(nèi)存管理裝置、電子設備、計算機可讀存儲介質(zhì)及計算機程序產(chǎn)品。


背景技術:

1、在如今的互聯(lián)網(wǎng)數(shù)字時代,電子游戲已經(jīng)成為了國民生活的重要組成部分,而大型多人在線游戲是目前最流行的電子游戲類型。如今大型多人在線游戲擁有接近真實世界的場景、角色、身份系統(tǒng)、和數(shù)量眾多的玩法。玩家可以自由探索一個龐大的開放世界,與其他玩家互動、結交朋友、組隊完成任務和參與各種江湖活動。為實現(xiàn)這些能力,游戲需要實時處理高精度的美術資源(比如,貼圖、3d模型、動畫、音效等)和大量玩法數(shù)據(jù),運行時內(nèi)存壓力很大。

2、然而,由于終端設備的內(nèi)存普遍較少且存在內(nèi)存紅線,大型多人在線游戲在終端設備上運行十分容易因內(nèi)存過高而出現(xiàn)閃退。


技術實現(xiàn)思路

1、本技術實施例提供一種企業(yè)內(nèi)存管理方法、內(nèi)存管理裝置、電子設備、計算機可讀存儲介質(zhì)及計算機程序產(chǎn)品,以對大型多人在線游戲在終端設備上運行時占用的內(nèi)存大小進行優(yōu)化,進而減少因內(nèi)存過高而出現(xiàn)閃退的問題。

2、本技術實施例提供了一種內(nèi)存管理方法,包括:

3、將目標文件映射為目標進程的虛擬內(nèi)存;

4、基于虛擬內(nèi)存創(chuàng)建對應于多種數(shù)據(jù)類型的多個類型內(nèi)存池,多種數(shù)據(jù)類型對應多個垃圾回收策略,每一種數(shù)據(jù)類型對應一個類型內(nèi)存池和一個垃圾回收策略,不同種數(shù)據(jù)類型對應不同類型內(nèi)存池和不同垃圾回收策略,且每一個類型內(nèi)存池中的內(nèi)存池用于存儲目標進程的相應數(shù)據(jù)類型的數(shù)據(jù);

5、根據(jù)數(shù)據(jù)類型對應的垃圾回收策略,將相應類型內(nèi)存池中已分配的內(nèi)存塊轉(zhuǎn)變?yōu)橄鄳愋蛢?nèi)存池中未分配的內(nèi)存塊。

6、本技術實施例還提供了一種內(nèi)存管理裝置,包括:

7、映射模塊,用于將目標文件映射為目標進程的虛擬內(nèi)存;

8、創(chuàng)建模塊,用于基于虛擬內(nèi)存創(chuàng)建對應于多種數(shù)據(jù)類型的多個類型內(nèi)存池,多種數(shù)據(jù)類型對應多個垃圾回收策略,每一種數(shù)據(jù)類型對應一個類型內(nèi)存池和一個垃圾回收策略,不同種數(shù)據(jù)類型對應不同類型內(nèi)存池和不同垃圾回收策略,且每一個類型內(nèi)存池中的內(nèi)存池用于存儲目標進程的相應數(shù)據(jù)類型的數(shù)據(jù);

9、轉(zhuǎn)變模塊,用于根據(jù)數(shù)據(jù)類型對應的垃圾回收策略,將相應類型內(nèi)存池中已分配的內(nèi)存塊轉(zhuǎn)變?yōu)橄鄳愋蛢?nèi)存池中未分配的內(nèi)存塊。

10、其中,創(chuàng)建模塊還用于:

11、基于虛擬內(nèi)存創(chuàng)建對應于多種數(shù)據(jù)類型的多個待回收內(nèi)存池,每一種數(shù)據(jù)類型對應一個待回收內(nèi)存池,不同種數(shù)據(jù)類型對應不同待回收內(nèi)存池;

12、轉(zhuǎn)變模塊具體包括:

13、第一轉(zhuǎn)變單元,用于根據(jù)數(shù)據(jù)類型對應的垃圾回收策略,從相應類型內(nèi)存池中確定可回收的已分配的第一內(nèi)存塊,并將第一內(nèi)存塊轉(zhuǎn)變?yōu)橄鄳厥諆?nèi)存池中的待回收內(nèi)存塊;

14、第二轉(zhuǎn)變單元,用于將數(shù)據(jù)類型對應的待回收內(nèi)存池中的待回收內(nèi)存塊轉(zhuǎn)變?yōu)橄鄳愋蛢?nèi)存池中未分配的內(nèi)存塊。

15、其中,多種數(shù)據(jù)類型包括對應于第一垃圾回收策略的第一種數(shù)據(jù)類型、對應于第二垃圾回收策略的第二種數(shù)據(jù)類型以及對應于第三垃圾回收策略的第三種數(shù)據(jù)類型;

16、根據(jù)數(shù)據(jù)類型對應的垃圾回收策略,從相應類型內(nèi)存池中確定可回收的已分配的第一內(nèi)存塊,具體包括:

17、根據(jù)第一種數(shù)據(jù)類型對應的第一垃圾回收策略,從相應類型內(nèi)存池中確定不被其他內(nèi)存塊引用的已分配的內(nèi)存塊為可回收的已分配的第一內(nèi)存塊;

18、根據(jù)第二種數(shù)據(jù)類型對應的第二垃圾回收策略,檢查相應類型內(nèi)存池中每個已分配的內(nèi)存塊的指定位置是否存在指針,得到第一檢查結果,并根據(jù)第一檢查結果從相應類型內(nèi)存池中確定不被其他內(nèi)存塊引用的已分配的內(nèi)存塊為可回收的已分配的第一內(nèi)存塊;

19、根據(jù)第三種數(shù)據(jù)類型對應的第三垃圾回收策略,檢查相應類型內(nèi)存池中每個已分配的內(nèi)存塊的各個位置是否存在指針,得到第二檢查結果,并根據(jù)第二檢查結果從相應類型內(nèi)存池中確定不被其他內(nèi)存塊引用的已分配的內(nèi)存塊為可回收的已分配的第一內(nèi)存塊。

20、其中,內(nèi)存管理裝置還包括:

21、接收模塊,用于接收目標進程的內(nèi)存申請請求;

22、第一確定模塊,用于根據(jù)內(nèi)存申請請求,確定待存儲數(shù)據(jù)以及待存儲數(shù)據(jù)的目標數(shù)據(jù)類型和需要的目標內(nèi)存大??;

23、第二確定模塊,用于從多個類型內(nèi)存池中確定目標數(shù)據(jù)類型對應的目標類型內(nèi)存池;

24、第三確定模塊,用于根據(jù)目標內(nèi)存大小從目標類型內(nèi)存池中確定未分配的目標內(nèi)存塊;

25、存儲模塊,用于利用目標內(nèi)存塊存儲待存儲數(shù)據(jù)。

26、其中,類型內(nèi)存池中的內(nèi)存塊具有多種第一大小級別;

27、第三確定模塊具體包括:

28、第一確定單元,用于確定大于等于目標內(nèi)存大小的最小的第一大小級別為第一目標大小級別;

29、檢測單元,用于檢測目標類型內(nèi)存池中是否存在未分配的第一目標大小級別的內(nèi)存塊;

30、第二確定單元,用于當目標類型內(nèi)存池中存在未分配的第一目標大小級別的內(nèi)存塊時,將目標類型內(nèi)存池中未分配的第一目標大小級別的內(nèi)存塊作為目標內(nèi)存塊;

31、第二轉(zhuǎn)變單元具體用于:

32、當目標類型內(nèi)存池中不存在未分配的第一目標大小級別的內(nèi)存塊時,將目標數(shù)據(jù)類型對應的待回收內(nèi)存池中第一目標大小級別的待回收內(nèi)存塊轉(zhuǎn)變?yōu)槟繕祟愋蛢?nèi)存池中未分配的第一目標大小級別的內(nèi)存塊,并觸發(fā)檢測單元重新執(zhí)行檢測目標類型內(nèi)存池中是否存在未分配的第一目標大小級別的內(nèi)存塊的步驟。

33、其中,將目標數(shù)據(jù)類型對應的待回收內(nèi)存池中第一目標大小級別的待回收內(nèi)存塊轉(zhuǎn)變?yōu)槟繕祟愋蛢?nèi)存池中未分配的第一目標大小級別的內(nèi)存塊,具體包括:

34、檢測目標數(shù)據(jù)類型對應的待回收內(nèi)存池中是否存在第一目標大小級別的待回收內(nèi)存塊;

35、當目標數(shù)據(jù)類型對應的待回收內(nèi)存池中存在第一目標大小級別的待回收內(nèi)存塊時,將目標數(shù)據(jù)類型對應的待回收內(nèi)存池中第一目標大小級別的待回收內(nèi)存塊轉(zhuǎn)變?yōu)槟繕祟愋蛢?nèi)存池中未分配的第一目標大小級別的內(nèi)存塊;

36、第一轉(zhuǎn)變單元具體用于:

37、當目標數(shù)據(jù)類型對應的待回收內(nèi)存池中不存在第一目標大小級別的待回收內(nèi)存塊時,根據(jù)目標數(shù)據(jù)類型對應的垃圾回收策略,從目標類型內(nèi)存池中確定可回收的已分配的第一目標大小級別的第一內(nèi)存塊,并將第一內(nèi)存塊轉(zhuǎn)變?yōu)橄鄳厥諆?nèi)存池中第一目標大小級別的待回收內(nèi)存塊,之后返回執(zhí)行檢測目標數(shù)據(jù)類型對應的待回收內(nèi)存池中是否存在第一目標大小級別的待回收內(nèi)存塊的步驟。

38、其中,創(chuàng)建模塊還用于:

39、基于虛擬內(nèi)存創(chuàng)建主內(nèi)存池;

40、根據(jù)目標數(shù)據(jù)類型對應的垃圾回收策略,從目標類型內(nèi)存池中確定可回收的已分配的第一目標大小級別的第一內(nèi)存塊,并將第一內(nèi)存塊轉(zhuǎn)變?yōu)橄鄳厥諆?nèi)存池中第一目標大小級別的待回收內(nèi)存塊,具體包括:

41、根據(jù)目標數(shù)據(jù)類型對應的垃圾回收策略,確定目標類型內(nèi)存池中是否存在可回收的已分配的第一目標大小級別的第一內(nèi)存塊;

42、當目標類型內(nèi)存池中存在可回收的已分配的第一目標大小級別的第一內(nèi)存塊時,將第一內(nèi)存塊轉(zhuǎn)變?yōu)橄鄳厥諆?nèi)存池中第一目標大小級別的待回收內(nèi)存塊;

43、當目標類型內(nèi)存池中不存在可回收的已分配的第一目標大小級別的第一內(nèi)存塊時,從主內(nèi)存池中確定目標主內(nèi)存塊,并將目標主內(nèi)存塊轉(zhuǎn)變?yōu)轭愋蛢?nèi)存池中未分配的第一目標大小級別的多個內(nèi)存塊,之后觸發(fā)檢測單元重新執(zhí)行檢測目標類型內(nèi)存池中是否存在未分配的第一目標大小級別的內(nèi)存塊的步驟。

44、其中,主內(nèi)存池中的主內(nèi)存塊具有多種第二大小級別;從主內(nèi)存池中確定目標主內(nèi)存塊,具體包括:

45、從多種第二大小級別中確定與第一目標大小級別相適配的第二大小級別為第二目標大小級別,第二目標大小級別大于等于第一目標大小級別;

46、從主內(nèi)存池中確定第二目標大小級別的目標主內(nèi)存塊。

47、其中,從主內(nèi)存池中確定第二目標大小級別的目標主內(nèi)存塊,具體包括:

48、檢測主內(nèi)存池中是否存在第二目標大小級別的主內(nèi)存塊;

49、當主內(nèi)存池中存在第二目標大小級別的主內(nèi)存塊時,將主內(nèi)存池中第二目標大小級別的主內(nèi)存塊作為目標主內(nèi)存塊;

50、當主內(nèi)存池中不存在第二目標大小級別的主內(nèi)存塊時,從虛擬內(nèi)存中申請目標內(nèi)存,并將目標內(nèi)存轉(zhuǎn)變?yōu)橹鲀?nèi)存池中第二目標大小級別的主內(nèi)存塊,之后返回執(zhí)行檢測主內(nèi)存池中是否存在第二目標大小級別的主內(nèi)存塊的步驟。

51、其中,目標文件存儲于電子設備的硬盤中;第一確定模塊具體用于:

52、根據(jù)內(nèi)存申請請求確定目標進程需要存儲的數(shù)據(jù);

53、當電子設備的物理內(nèi)存小于預設內(nèi)存閾值時,將目標進程需要存儲的全部數(shù)據(jù)作為待存儲數(shù)據(jù),并根據(jù)待存儲數(shù)據(jù)確定待存儲數(shù)據(jù)的目標數(shù)據(jù)類型以及申請的內(nèi)存大小;

54、當電子設備的物理內(nèi)存不小于預設內(nèi)存閾值時,將目標進程需要存儲的部分數(shù)據(jù)作為待存儲數(shù)據(jù),并根據(jù)待存儲數(shù)據(jù)確定待存儲數(shù)據(jù)的目標數(shù)據(jù)類型以及申請的內(nèi)存大小。

55、本技術實施例還提供了一種計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)存儲有計算機程序,計算機程序適于處理器進行加載,以執(zhí)行上述任一項內(nèi)存管理方法。

56、本技術實施例還提供了一種電子設備,電子設備包括存儲器和處理器,存儲器中存儲有計算機程序,處理器通過調(diào)用存儲器中存儲的計算機程序,執(zhí)行上述任一項內(nèi)存管理方法。

57、本技術實施例還提供了一種計算機程序產(chǎn)品,計算機程序產(chǎn)品包括計算機程序或計算機指令,計算機程序或計算機指令被處理器執(zhí)行時實現(xiàn)上述任一項內(nèi)存管理方法的步驟。

58、本技術提供的內(nèi)存管理方法、內(nèi)存管理裝置、電子設備、計算機可讀存儲介質(zhì)及計算機程序產(chǎn)品,通過將目標文件映射為目標進程的虛擬內(nèi)存,并基于虛擬內(nèi)存創(chuàng)建對應于多種數(shù)據(jù)類型的多個類型內(nèi)存池,多種數(shù)據(jù)類型對應多個垃圾回收策略,每一種數(shù)據(jù)類型對應一個類型內(nèi)存池和一個垃圾回收策略,不同種數(shù)據(jù)類型對應不同類型內(nèi)存池和不同垃圾回收策略,且每一個類型內(nèi)存池中的內(nèi)存池用于存儲目標進程的相應數(shù)據(jù)類型的數(shù)據(jù),然后根據(jù)數(shù)據(jù)類型對應的垃圾回收策略,將相應類型內(nèi)存池中已分配的內(nèi)存塊轉(zhuǎn)變?yōu)橄鄳愋蛢?nèi)存池中未分配的內(nèi)存塊,從而能夠?qū)⒛繕诉M程(比如,大型多人在線游戲進程)的數(shù)據(jù)轉(zhuǎn)移到內(nèi)存映射文件中,并對不同數(shù)據(jù)類型的數(shù)據(jù)所需的內(nèi)存進行獨立的分配和回收,以優(yōu)化目標進程運行時占用的內(nèi)存大小,提高內(nèi)存分配和回收的性能,進而減少因內(nèi)存不足導致的系統(tǒng)錯誤(比如,閃退)的發(fā)生,并能夠讓軟件(比如,大型多人在線游戲軟件)應用于更多配置較低的設備,增強了軟件適用性,且通過采用本技術的內(nèi)存管理方案,能夠使得軟件在同一設備運行起來更流暢,還有利于降低無用的內(nèi)存讀寫次數(shù),減少內(nèi)存碎片,節(jié)約內(nèi)存資源,延長硬件壽命。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1