Awake và Start
Tiêu chí | Awake() | Start() |
|---|---|---|
Thời điểm gọi | Ngay khi script được nạp/khởi tạo (khi scene load hoặc | Khung hình đầu tiên khi component được enable sau |
Yêu cầu enable | Gọi dù component bị Disable | Chỉ gọi khi component Enable |
Mục đích chính | Khởi tạo nội bộ: tạo dữ liệu, tìm & cache reference trong cùng GameObject | Khởi tạo phụ thuộc ngoại: cần đảm bảo các đối tượng khác đã Awake xong |
Thứ tự giữa các object | Không đảm bảo thứ tự Awake giữa các object khác nhau | Không đảm bảo thứ tự Start giữa các object khác nhau |
Gọi lại khi Instantiate | Có (mỗi lần | Có (khi instance được enable và tới frame đầu) |
Best practice | Cache component ( | Kết nối hệ thống khác, subscribe event ngoài, logic cần đảm bảo đối tượng khác đã sẵn sàng |
Lưu ý | Gọi API phụ thuộc đối tượng khác chưa sẵn sàng | Công việc nặng mỗi frame; tránh dùng nếu chỉ cần ở
|
No comments to display
No comments to display