如何在Unity中实时打印当前的内存消耗

文章介绍了如何在Unity中使用ProfilerRecorder监控游戏内存,包括总保留内存、GC保留内存和系统已用内存,通过OnEnable,OnDisable和Update方法实现内存数据的记录和GUI展示。
摘要由CSDN通过智能技术生成
		string statsText;
		ProfilerRecorder totalReservedMemoryRecorder;
		ProfilerRecorder gcReservedMemoryRecorder;
		ProfilerRecorder systemUsedMemoryRecorder;

		void OnEnable()
		{
			totalReservedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "Total Reserved Memory");
			gcReservedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "GC Reserved Memory");
			systemUsedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "System Used Memory");
		}

		void OnDisable()
		{
			totalReservedMemoryRecorder.Dispose();
			gcReservedMemoryRecorder.Dispose();
			systemUsedMemoryRecorder.Dispose();
		}

		void Update()
		{
			//return;
			var sb = new StringBuilder(500);
			if (totalReservedMemoryRecorder.Valid)
				sb.AppendLine($"总保留内存: {(totalReservedMemoryRecorder.LastValue/1024f)/1024f}");
			if (gcReservedMemoryRecorder.Valid)
				sb.AppendLine($"GC保留内存: {(gcReservedMemoryRecorder.LastValue / 1024f) / 1024f}");
			if (systemUsedMemoryRecorder.Valid)
				sb.AppendLine($"系统已用内存: {(systemUsedMemoryRecorder.LastValue / 1024f) / 1024f}");
			statsText = sb.ToString();
		}

		void OnGUI()
		{
			GUIStyle style = new GUIStyle();
			style.fontSize = 28;
			GUI.TextArea(new Rect(10, 30, 250, 150), statsText, style);
		}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值