Unity垃圾收集类

封装了一个垃圾收集类,为了彻底的卸载无用资源,第一步卸载临时对象,第二步删除资源。(临时对象引用资源)
使用
在这里插入图片描述

	public class GC : MonoBehaviour 
	{
		public  AsyncOperation m_Operation;
		public UnityAction m_Callback; //垃圾清除干净之后的回调

		public void UnloadUnusedAssets(UnityAction callback){
			m_Callback = callback;
			System.GC.Collect (); //除去临时对象
			m_Operation = Resources.UnloadUnusedAssets(); //删除游戏资源
		}

		void Update()
		{
			if (m_Operation !=null ) {
				if (m_Operation.isDone) {
					m_Operation = null;
					m_Callback ();
					//删除自身
					Destroy (this,1); //解除update的占用,延迟一秒为了把m_callback实现出来。
				}
			}
		}
	}
发布了67 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Icecoldless/article/details/103749920