Unity中的协程

发布时间:2024年01月19日

定义:协程使得任务的执行可以分配到多个帧中完成,在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.应尽量将一系列操作压缩到尽量少的协程中。

总结自官方英文文档

文章来源:https://blog.csdn.net/hgf1037882434/article/details/135691856
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。