本發(fā)明實施例涉及計算機(jī),特別涉及一種資源釋放方法、裝置、電子設(shè)備、存儲介質(zhì)以及程序產(chǎn)品。
背景技術(shù):
1、在現(xiàn)代游戲開發(fā)中,unity引擎通過資源捆綁包機(jī)制來打包和管理游戲資源,以便于高效加載和部署。該機(jī)制允許將多個資源打包成一個整體,并在需要時加載這些資源。
2、但在unity的資源捆綁包機(jī)制下,卸載資源時必須在捆綁包中沒有任何資源引用的情況下,才能將整個捆綁包一起卸載,除非使用特定的全局資源回收接口。然而,該接口在調(diào)用時會導(dǎo)致性能下降,不能在正常游戲過程中頻繁調(diào)用。
3、因此,亟需一種能夠?qū)崿F(xiàn)靈活卸載捆綁包中的資源的資源管理方法。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明實施例提供了一種資源釋放方法。本發(fā)明一個或者多個實施例同時涉及一種資源釋放裝置,一種計算設(shè)備,一種計算機(jī)可讀存儲介質(zhì)以及一種計算機(jī)程序產(chǎn)品,以解決現(xiàn)有技術(shù)中存在的技術(shù)缺陷。
2、根據(jù)本發(fā)明實施例的第一方面,提供了一種資源釋放方法,包括:
3、在目標(biāo)程序運行的情況下,針對目標(biāo)程序的任一目標(biāo)資源包,確定目標(biāo)資源包中各資源的引用關(guān)系,其中,目標(biāo)資源包基于對目標(biāo)程序引用的資源進(jìn)行捆綁得到;
4、基于引用關(guān)系確定各資源的引用等級;
5、在引用等級為目標(biāo)等級的情況下,對目標(biāo)資源包中目標(biāo)等級的目標(biāo)資源執(zhí)行釋放操作,其中,目標(biāo)等級用于表征目標(biāo)資源當(dāng)前未被引用。
6、根據(jù)本發(fā)明實施例的第二方面,提供了一種資源釋放裝置,包括:
7、第一確定模塊,被配置為在目標(biāo)程序運行的情況下,針對目標(biāo)程序的任一目標(biāo)資源包,確定目標(biāo)資源包中各資源的引用關(guān)系,其中,目標(biāo)資源包基于對目標(biāo)程序引用的資源進(jìn)行捆綁得到;
8、第二確定模塊,被配置為基于引用關(guān)系確定各資源的引用等級;
9、釋放模塊,被配置為在引用等級為目標(biāo)等級的情況下,對目標(biāo)資源包中目標(biāo)等級的目標(biāo)資源執(zhí)行釋放操作,其中,目標(biāo)等級用于表征目標(biāo)資源當(dāng)前未被引用。
10、根據(jù)本發(fā)明實施例的第三方面,提供了一種計算設(shè)備,包括:
11、存儲器和處理器;
12、所述存儲器用于存儲計算機(jī)程序/指令,所述處理器用于執(zhí)行所述計算機(jī)程序/指令,該計算機(jī)程序/指令被處理器執(zhí)行時實現(xiàn)上述資源釋放方法的步驟。
13、根據(jù)本發(fā)明實施例的第四方面,提供了一種計算機(jī)可讀存儲介質(zhì),其存儲有計算機(jī)程序/指令,該計算機(jī)程序/指令被處理器執(zhí)行時實現(xiàn)上述資源釋放方法的步驟。
14、根據(jù)本發(fā)明實施例的第五方面,提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序/指令,該計算機(jī)程序/指令被處理器執(zhí)行時實現(xiàn)上述資源釋放方法的步驟。
15、本發(fā)明一個實施例實現(xiàn)了在目標(biāo)程序運行的情況下,針對目標(biāo)程序的任一目標(biāo)資源包,確定目標(biāo)資源包中各資源的引用關(guān)系,其中,目標(biāo)資源包基于對目標(biāo)程序引用的資源進(jìn)行捆綁得到;基于引用關(guān)系確定各資源的引用等級;在引用等級為目標(biāo)等級的情況下,對目標(biāo)資源包中目標(biāo)等級的目標(biāo)資源執(zhí)行釋放操作,其中,目標(biāo)等級用于表征目標(biāo)資源當(dāng)前未被引用。通過獲取目標(biāo)資源包中各資源的依賴關(guān)系,并基于這些依賴關(guān)系確定各資源的依賴等級,能夠智能地響應(yīng)資源卸載指令,針對依賴等級為目標(biāo)等級的資源執(zhí)行卸載操作。這種方法避免了因資源間的引用關(guān)系導(dǎo)致的整體捆綁包卸載問題,無需頻繁調(diào)用性能開銷大的全局資源回收接口,實現(xiàn)了高效的資源卸載管理,避免了性能下降,同時確保了資源的有效回收,優(yōu)化了程序的內(nèi)存管理和加載性能。
1.一種資源釋放方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述針對所述目標(biāo)程序的任一目標(biāo)資源包,確定所述目標(biāo)資源包中各資源的引用關(guān)系,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述引用關(guān)系確定所述各資源的引用等級,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述在目標(biāo)程序運行的情況下,針對所述目標(biāo)程序的任一目標(biāo)資源包,確定所述目標(biāo)資源包中各資源的引用關(guān)系之前,還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述針對所述目標(biāo)等級對應(yīng)的目標(biāo)資源執(zhí)行釋放操作之后,還包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)資源包中包括所述目標(biāo)資源的索引信息;在所述引用等級為目標(biāo)等級的情況下,對所述目標(biāo)資源包中目標(biāo)等級的目標(biāo)資源執(zhí)行釋放操作之后,還包括:
7.一種資源釋放裝置,其特征在于,包括:
8.一種計算設(shè)備,其特征在于,包括:
9.一種計算機(jī)可讀存儲介質(zhì),其特征在于,其存儲有計算機(jī)程序/指令,該計算機(jī)程序/指令被處理器執(zhí)行時實現(xiàn)權(quán)利要求1-6任意一項所述資源釋放方法的步驟。
10.一種計算機(jī)程序產(chǎn)品,其特征在于,包括計算機(jī)程序/指令,該計算機(jī)程序/指令被處理器執(zhí)行時實現(xiàn)權(quán)利要求1-6任意一項所述資源釋放方法的步驟。