定义:协程使得任务的执行可以分配到多个帧中完成,在Unity中,协程从开始执行到第一个yield return 语句后将调用权归还Unity主线程,并在紧随的下一帧继续从上次结束调用的代码上下文位置恢复执行。
常见应用场景:HTTP请求、资源加载和文件I/O等长时间的异步操作等。
注意事项:
1.避免阻塞协程,因为这会增加Unity主线程在CPU上所耗费的时间。
2.协程依附的游戏对象被通过SetActive方法禁用时,协程也会停止。当游戏对象通过Destroy被销毁时会立刻触发OnDisable方法,然后Unity会有效地停止协程,在当前帧结束时调用OnDestroy方法。值得注意的是,通过enabled=false禁用对象,不会停止协程。
3.启用协程时的内存压力等于固定开销的分配加上局部变量的大小。
4.如果需要每帧运行并且长时间运行不会执行到yield语句的协程,改用Update或者LateUpdate是更好的选择。
5.嵌套协程会带来更高的内存开销,因为需要跟踪对象。
6.应尽量将一系列操作压缩到尽量少的协程中。
总结自官方英文文档