![]()
這是第464篇UWA技術(shù)知識分享的推送,精選了UWA社區(qū)、UWA AI問答的熱門話題等技術(shù)知識點,助力大家更全面地掌握和學(xué)習(xí)。
UWA社區(qū)主頁:community.uwa4d.com
UWA QQ群:793972859
本期目錄:
堆內(nèi)存對象的Managed Size具體是如何計算的
- 微信小游戲項目,跑圖過程場景加載比較慢如何優(yōu)化
From問答社區(qū)
Q:在Memory Profiler觀察到一個長度為9的字符串對象Managed Size為40B,顯然不止每個字符2字節(jié)。請問這個應(yīng)該是怎么算的?
![]()
A:堆內(nèi)存對象的Managed Size可以認(rèn)為是 以下 四個部分:
1. 類型對象指針;
2. 同步塊索引;
3. 專屬屬性(比如數(shù)組和String就有一個int32 length 4B);
4. 實例字段。
針對每種對象這四個部分可能都有不同,最好的辦法就是直接看下源碼里這個類的構(gòu)造。比如String:
![]()
它就是8 (*monotor) + 8(union) + 4(length) + 2( N+1(\0) ),特殊之處就是多了個\0,相當(dāng)于長度要算N+1。所以總共是22+2*N字節(jié)。
其中為什么每個對象都要額外分配類型對象指針和同步塊索引,導(dǎo)致一定的基礎(chǔ)占用,原理上可以參考一些官方文檔或者社區(qū)文章。
《.NET 框架內(nèi)部結(jié)構(gòu):CLR 如何創(chuàng)建運行時對象 |Microsoft Learn》
https://learn.microsoft.com/en-us/archive/msdn-magazine/2005/may/net-framework-internals-how-the-clr-creates-runtime-objects
歡迎大家轉(zhuǎn)至社區(qū)交流:
https://answer.uwa4d.com/question/69858fdcabed2e338a7dac5e
From問答社區(qū)
Q1:目前有個點比較陌生,就是小游戲的每秒資源后臺最大同時下載數(shù)量,和下載文件大小的指標(biāo)比較缺失, 這塊會影響玩家跑圖的過程中場景加載比較慢的問題。 請問有沒有官方大數(shù)據(jù)指標(biāo)?
A:官方說法是小游戲資源下載并發(fā)數(shù)為10,超過時底層自動排隊;單個請求文件最大不超過100MB(理論最大值,但考慮到帶寬,建議單文件2~5MB以內(nèi))。
![]()
Q2:由于我們是橫屏地圖,真機(jī)上持續(xù)控制角色移動10秒以上,停下后,附近場景資源下載大概要等10秒才加載完整。 大概200個資源,請問有什么解決的方法?
A: 這種情況看起來是沒有用WXAssetBundle的接口進(jìn)行 AssetBundle 加載,一般更推薦用這個,而不是原生的 AssetBundle 加載接口。WXAssetBundle的加載接口會把網(wǎng)上下載的東西緩存到本地,下次直接從本地加載,而且這個接口會有自動卸載的功能,總體內(nèi)存占用也會更小一些。其他的優(yōu)化方法就是資源設(shè)置以及打包策略的問題了。
歡迎大家轉(zhuǎn)至社區(qū)交流:
https://answer.uwa4d.com/question/6985999eabed2e338a7dac60
無論是社區(qū)里開發(fā)者們的互助討論,還是AI基于知識沉淀的快速反饋,核心都是為了讓每一個技術(shù)難題都有解、每一次踩坑都有回響。本期分享分別來自UWA AI問答和UWA問答社區(qū),希望這些從真實開發(fā)場景中提煉的經(jīng)驗,能直接幫你解決當(dāng)下的技術(shù)卡點,也讓你在遇到同類問題時,能更高效地找到破局方向。
封面圖來源于網(wǎng)絡(luò)
今天的分享就到這里。生有涯而知無涯,在漫漫的開發(fā)周期中,我們遇到的問題只是冰山一角,UWA社區(qū)愿伴你同行,一起探索分享。歡迎更多的開發(fā)者加入UWA社區(qū)。
UWA官網(wǎng):www.uwa4d.com
UWA社區(qū):community.uwa4d.com
UWA學(xué)堂:edu.uwa4d.com
點擊下方名片關(guān)注我們,將我設(shè)為星標(biāo),及時接收小編每日推送哦,性能優(yōu)化不迷路~
![]()
近期精彩回顧
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.