ソースコード
使用例
using System.Text; using TMPro; using UnityEngine; public class Example : MonoBehaviour { public TMP_Text m_text; private readonly UnityMemoryChecker m_unityMemoryChecker = new UnityMemoryChecker(); private void Update() { m_unityMemoryChecker.Update(); var sb = new StringBuilder(); sb.AppendLine( "<b>Unity</b>" ); sb.AppendLine(); sb.AppendLine( $" Used: {m_unityMemoryChecker.UsedText}" ); sb.AppendLine( $" Unused: {m_unityMemoryChecker.UnusedText}" ); sb.AppendLine( $" Total: {m_unityMemoryChecker.TotalText}" ); var text = sb.ToString(); m_text.text = text; } }
上記のようなコードを記述することで
このように Profiler に表示されている Unity の使用メモリを取得できます
(おそらく Profiler のデータが使用しているメモリや
オーディオドライバが使用しているメモリなどが影響しているため
Profiler の数値と微妙に誤差があります)
ドキュメント
- Profiler.GetTotalAllocatedMemoryLong
- Profiler.GetTotalUnusedReservedMemoryLong
- Profiler.GetTotalReservedMemoryLong
参考サイト様
https://docs.unity3d.com/ja/current/Manual/MobileProfiling.html