本申請涉及計算機,特別涉及一種數據處理方法。本申請同時涉及一種數據處理裝置、一種計算設備,一種計算機可讀存儲介質,以及一種計算機程序產品。
背景技術:
1、unity?il2cpp(intermediate?language?to?c++),是unity提供的一種腳本后端方案,用于將c#代碼轉換成c++代碼,最終編譯為原生機器代碼,它本身有很多的優勢,提升了應用程序的性能和安全性,同時支持unity游戲跨平臺等。
2、然而,當項目工程的代碼體量非常大的時候,unity?il2cpp的runtime?memory(程序在運行時所使用的內存)占用非常高;runtime?memory大小跟具體項目的代碼行關系很大,當項目的代碼行大,代碼插件多以及項目本身代碼使用泛型模版較多的情況下,il2cppruntime?memory能突破1gb的runtime?memory占用,極其夸張。
3、而傳統的代碼裁剪方案(調整代碼裁剪級別)解決不了這種問題,因為實際應用中可能整個游戲過程中用到的il2cpp?runtime?memory就是這么多,il2cpp的runtimememory占用高已成為游戲行業的一個痛點問題。
技術實現思路
1、有鑒于此,本申請實施例提供了一種數據處理方法,以解決現有技術中存在的技術缺陷。本申請實施例同時提供了一種數據處理裝置,一種計算設備,一種計算機可讀存儲介質,以及一種計算機程序產品。
2、根據本申請實施例的第一方面,提供了一種數據處理方法,包括:
3、解析目標項目對應的目標代碼集中的目標代碼段,獲得待加載類型代碼;
4、為所述待加載類型代碼添加屬性標記,生成目標待加載類型代碼,并根據目標待加載類型代碼獲得目標程序集,其中,所述目標程序集為執行所述目標代碼集的情況下、待加載至內存的程序集;
5、執行所述目標代碼集,通過反射接口加載所述目標程序集中的目標待加載類型代碼,啟動并運行所述目標項目。
6、根據本申請實施例的第二方面,提供了一種數據處理裝置,包括:
7、解析模塊,被配置為解析目標項目對應的目標代碼集中的目標代碼段,獲得待加載類型代碼;
8、獲得模塊,被配置為為所述待加載類型代碼添加屬性標記,生成目標待加載類型代碼,并根據目標待加載類型代碼獲得目標程序集,其中,所述目標程序集為執行所述目標代碼集的情況下、待加載至內存的程序集;
9、加載模塊,被配置為執行所述目標代碼集,通過反射接口加載所述目標程序集中的目標待加載類型代碼,啟動并運行所述目標項目。
10、根據本申請實施例的第三方面,提供了一種計算設備,包括:存儲器和處理器;
11、所述存儲器用于存儲計算機程序/指令,所述處理器用于執行所述計算機程序/指令,所述計算機程序/指令被處理器執行時實現上述數據處理方法。
12、根據本申請實施例的第四方面,提供了一種計算機可讀存儲介質,其存儲有計算機程序/指令,所述計算機程序/指令被處理器執行時實現上述數據處理方法。
13、根據本申請實施例的第五方面,提供了一種計算機程序產品,包括計算機程序/指令,所述計算機程序/指令被處理器執行時實現上述數據處理方法。
14、本說明書實施例提供的數據處理方法,通過對目標項目代碼的目標代碼集進行識別,確定目標代碼集中的目標代碼段,并通過對目標代碼段進行解析獲得待加載類型代碼,具體的,由于針對項目的代碼內存細分項分析之后發現,項目代碼使用了非常多的c#代碼反射的用法,而使用反射接口加載assembly(程序集)時,會將程序集里面的所有類型全部加載進內存,從而導致內存膨脹問題,因此通過確定目標項目對應的目標代碼集中待加載類型代碼,可以為待加載類型代碼添加屬性標記,生成目標待加載類型代碼,從而獲得目標項目的目標程序集,以便在執行目標代碼集時,通過反射接口加載目標程序集中的目標待加載類型代碼,而并非所有類型代碼,加大的壓縮了加載的類型代碼數量,從而降低內存占用,解決內存占用過高的問題。
1.一種數據處理方法,其特征在于,包括:
2.根據權利要求1所述的數據處理方法,其特征在于,所述解析目標項目對應的目標代碼集中的目標代碼段,獲得待加載類型代碼,包括:
3.根據權利要求1所述的數據處理方法,其特征在于,所述根據目標待加載類型代碼獲得目標程序集之后,還包括:
4.根據權利要求1所述的數據處理方法,其特征在于,所述執行所述目標代碼集,通過反射接口加載所述目標程序集中的目標待加載類型代碼之后,還包括:
5.根據權利要求1所述的數據處理方法,其特征在于,所述目標程序集為共享程序集,所述共享程序集中包括多個項目共用的功能;
6.根據權利要求2所述的數據處理方法,其特征在于,所述利用靜態代碼分析工具對所述目標項目對應的目標代碼集進行識別,獲得目標代碼集中的目標代碼段之后,還包括:
7.一種數據處理裝置,其特征在于,包括:
8.一種計算設備,其特征在于,包括:存儲器和處理器;
9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有計算機程序/指令,所述計算機程序/指令被處理器執行時實現權利要求1至6任意一項所述的方法。
10.一種計算機程序產品,其特征在于,包括計算機程序/指令,所述計算機程序/指令被處理器執行時實現權利要求1至6任意一項所述的方法。