定義:協(xié)程使得任務的執(zhí)行可以分配到多個幀中完成,在Unity中,協(xié)程從開始執(zhí)行到第一個yield return 語句后將調(diào)用權(quán)歸還Unity主線程,并在緊隨的下一幀繼續(xù)從上次結(jié)束調(diào)用的代碼上下文位置恢復執(zhí)行。
常見應用場景:HTTP請求、資源加載和文件I/O等長時間的異步操作等。
注意事項:
1.避免阻塞協(xié)程,因為這會增加Unity主線程在CPU上所耗費的時間。
2.協(xié)程依附的游戲?qū)ο蟊煌ㄟ^SetActive方法禁用時,協(xié)程也會停止。當游戲?qū)ο笸ㄟ^Destroy被銷毀時會立刻觸發(fā)OnDisable方法,然后Unity會有效地停止協(xié)程,在當前幀結(jié)束時調(diào)用OnDestroy方法。值得注意的是,通過enabled=false禁用對象,不會停止協(xié)程。
3.啟用協(xié)程時的內(nèi)存壓力等于固定開銷的分配加上局部變量的大小。
4.如果需要每幀運行并且長時間運行不會執(zhí)行到y(tǒng)ield語句的協(xié)程,改用Update或者LateUpdate是更好的選擇。
5.嵌套協(xié)程會帶來更高的內(nèi)存開銷,因為需要跟蹤對象。
6.應盡量將一系列操作壓縮到盡量少的協(xié)程中。
總結(jié)自官方英文文檔文章來源:http://www.zghlxwxcb.cn/news/detail-807624.html
如果這篇文章對你有幫助,請給作者點個贊吧!?文章來源地址http://www.zghlxwxcb.cn/news/detail-807624.html
到了這里,關(guān)于Unity中的協(xié)程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!