В чем разница между "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-это как сказать: "верните управление вызывающему, но когда меня снова вызовут, продолжайте из моего предыдущего состояния"