Coroutine
March 23, 2021Less than 1 minute
Coroutine
原理:
一个协成方法会在编译的时候,转化成一个类,在使用的时候生成一个对象,使用 DelayedCallManager
来调用。这个有点像timermanager那种感觉。
因为一个对象所有在协成中的局部变量都会成为对象中的变量,所以说如果协成不使用 yeild return ,也就不会释放该对象。在使用该协成时我们就是在使用的时候new一个即可,不需要保存下来。
尽量减少使用....或者说把多个协成合并起来,
在使用一个monobehavior中使用了StartCoroutine开启一个协成,我们把该脚本disable了是无法关闭协成的,
• 但是我们把该脚本的GameObject设置SetActive(false)时协成会被关掉,
• 当然调用 Destroy该脚本也可以关掉,
• 也可以直接调用StopCoroutine
参考:
https://docs.unity3d.com/Manual/BestPracticeUnderstandingPerformanceInUnity3.html