В чем разница между "yield return 0" и "yield return null" в корутине?
Я новичок и немного смущен "yield
". Но, наконец, я понимаю, как это работало с помощью WaitForSeconds
но я не вижу разницы между "yield return 0
" и "yield return null
".
оба они ждут следующего кадра для выполнения?
извините за мой плохой английский. Большое спасибо.
2 ответов
и yield return 0
и yield return null
выходы для одного кадра. Самая большая разница в том, что yield return 0
выделяет память из-за бокса и распаковки 0
что происходит под капотом, но yield return null
тут не выделить память. Из-за этого, настоятельно рекомендуется использовать yield return null
Если вы заботитесь о производительности.
вы могли бы даже просто "дать отдачу"; я думаю, конечный результат тот же, что и в отношении корутины;
Yield return-это как сказать: "верните управление вызывающему, но когда меня снова вызовут, продолжайте из моего предыдущего состояния"