Why should native modules not execute heavy tasks on the UI thread?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Can freeze UI or cause lag". UI thread (luồng giao diện, còn gọi là main thread) vừa vẽ khung hình vừa xử lý chạm; nếu native module chạy việc nặng như đọc tệp lớn, xử lý ảnh hay gọi mạng đồng bộ trên luồng này thì không còn thời gian vẽ khung hình kế tiếp, ứng dụng giật, đứng hình, trên Android có thể hiện ANR. Vì vậy việc nặng nên chạy ở luồng nền rồi trả kết quả qua Promise hoặc callback. "Causes Redux conflict" sai vì Redux là thư viện trạng thái phía JavaScript, không phụ thuộc luồng native. "Makes hooks invalid" sai vì luật của hook chỉ liên quan thứ tự gọi trong component, không dính tới native thread. "Prevents JSX compilation" sai vì JSX được Babel biên dịch lúc build, trước khi ứng dụng chạy.

Cùng chương 1

Xuất hiện trong 1 bộ đề