Memory Profile shows increased Audio size

Hello,

I have 2 Questions related to the Memory profiler.


1- I have an audio clip which states in the Inspector to be: “Original Size of 3 MB” and “Imported size of 2 MB”, However then I click into the Memory profiler and it shows 28 MB for that track. WHY?
133636-screenshot-25.png


2- The Detailed view shows, Other,Assets, Scene Memory, Builtin Resources and Not Saved.
Are ALL of this stuff loaded into the memory of my android? Since as you see I have “Other” of 3 GB and I don’t know even how to clean it. I Mean why there is no clearly stated your game is using X much of total memory? Instead is all divided into these categories? How can I get/see the total memory usage used by the app only ( without the memory used by the editor itself) ? From UNITY conference it says that all the below picture includes the editor so is useless.

Hello,
RE 1:

  1. Please check this in a memory Snapshot taken while collected to a
    player, ideally using the new Memory Profiler Package.
  2. Check if the memory reported by other clips increases if you remove
    that one clip from your project. If that is the case, it’s an underlying buffer that is used by FMOD and wrongly reported.
    If this does not clarify it, please file a bug report.

RE 2:

The ability to Profile the Editor, or the Playmode Player running in the Editor is there for quick iteration on issues found in a built Player. Since the Editor and the Player are strongly connected to enable nice and quick workflows within the Editor, profiling Playmode is necessarily affected by the Editor. Besides that, due to all kinds of differences between the platforms and the builds you can make and deploy to them, the Profiler would have to do a whole lot of guesswork to give you results as if you where running on your target platform.

That said, if you profile a built player (e.g. on Android) and take a look at the Simple view of the Memory Profiler Module of the Profiler Window, Used Total and Reserved Total includes all the memory that Unity’s memory management system knows about. That does not include native libraries and what they allocated though, that amount is only tracked under “Total System Memory Usage”.
Regarding “Reserved *” vs “Used *”: Unity preallocates memory pools that are then filled and cleared as needed, in order to avoid having to ask the OS for new memory regions constantly (which is slow and could actually get you thrown out memory faster). The reserved memory grows in increments as you breach it’s limits with your usage. So “Used *” is what you have a direct influence on, “Reserved *” is something you can only improve upon indirectly and in increments, since it’s basically the high water mark of memory used, plus some buffer space.


Also, Total System Memory Usage is a hardware counter implemented per Platform. If it shows 0 or “Unknown” as in your screenshot, please file a bug report so that the corresponding platform teams know they need to fix this.