Hello. In my project, when loaded scene, about 400mb, under 150 assetbundles are caching and synchronized on to disk using WWW.assetbundle which WWW not Disposed into the C# Dictionary. Then checking the memory usage and compare with built single scene not used assetbundle version, assetbundle scene version usage twice more memory size.
So four things of my questions.
first. what are the MemoryProfiler’s “SerializedFile”, “ManagedHeap.ReservedUnusedSize”, “ManagedHeal.UsedSize” ?
second. Are usage memory assetbundles always more than single scene not used assetbundle version?
third. After WWW.LoadFromCacheOrDownload success, are all bundle buffers located on the memory or disk?
fourth. How to reduce memory usage on using assetbundle?
MemoryProfiler’s “SerializedFile” is also shown in my profiler. It has about 0.8m.
But I have no idea where does it come from. Anyway to get rid of it?
Next it’s my self solution, that I found out until now.
first. what are the MemoryProfiler’s “SerializedFile”, “ManagedHeap.ReservedUnusedSize”, “ManagedHeal.UsedSize” ?
Through several times to my test on mobile devices, It’s seems to be don’t care “Other” categories
on Memory Profiler. Because all of “Other” things are always similar on device.
second. Are usage memory assetbundles always more than single scene not used assetbundle version?
It’s not 100% sure but statistically memory consumption of assetbundles version is similar single scene version.
But conditionally it need to be organized all of assets stack well to built assetbundle.
I found out this is not. After WWW.LoadFromCacheOrDownload, When any assets to included on
AssetBundle to locate memory is only call AssetBundle.Load or AssetBundle.LoadAsync.
fourth. How to reduce memory usage on using assetbundle?
This is based on how organized and stacked well, all assets to AssetBundle.