Table of Contents
Hiểu được việc tải chậm chạp ở bản địa phản ứng
Hệ thống này làm giảm sự tải lên của các thành phần, màn hình và tài sản cho đến khi thực sự cần thiết, giảm thời gian và thời gian khởi động ứng dụng. Trong hướng dẫn này, chúng tôi sẽ mở rộng thêm vào mục đích in sâu của người bản xứ, để tìm kiếm các mẫu nhập cảnh và định hướng.
Lazy đang nạp gì?
Lzy nạp là một mô hình thiết kế mà hoãn lại việc khởi tạo của một đối tượng, thành phần, hoặc tài nguyên cho đến thời điểm cần thiết. Trong bối cảnh của người bản địa phản ứng, điều này có nghĩa là một màn hình hay thành phần không được nạp và vẽ cho đến khi người dùng định vị hoặc tầm nhìn của nó gần. Mục tiêu chính là:
- Thực hiện ) – Ứng dụng chỉ phát hành với các thành phần thiết yếu, vì vậy người dùng sẽ xem nội dung sớm hơn.
- Việc sử dụng bộ nhớ ) — không giữ bộ nhớ các thành phần không dùng.
- Đáp ứng đã mặc định ) – Các chỉ chủ yếu không bị chặn bởi các dữ liệu nhập dữ liệu nặng khi khởi chạy.
Trong tự động tải, việc tải người bản địa, lười biếng thường được thực hiện thông qua các nhập khẩu năng động bằng và , hoặc qua các giải pháp đặc trưng thư viện như [FLT: 0] để tải lên màn hình lười biếng.
Lợi ích của việc dùng chất Lazy trong các bản địa phản ứng
Nhận hàng đống hàng hóa lười biếng đem lại nhiều cải tiến hiệu suất:
- Cỡ gói gốc đã được gỡ bỏ) – Bộ luật tách thông tin JavaScript ra thành những đoạn nhỏ được nạp theo yêu cầu. Điều này rất quan trọng vì ứng dụng phản ứng bản xứ đã gửi một gói JavaScript phải được phân tích và thực hiện khi khởi chạy.
- Thời gian tương tác [BRI] ) – Ứng dụng này có thể sử dụng trước hơn vì các tính toán nặng và các thư viện lớn nhập khẩu được hoãn lại.
- ắc quy ) — nguồn tài nguyên nhàn rỗi không được nạp, giảm sử dụng CPU và bảo tồn pin.
- Bảo trì ) – Lazy nạp mã mô-đun, làm cho mã căn cứ dễ dàng định vị và kiểm tra.
Trong khi những lợi ích này là phổ biến, tải lười biếng đặc biệt có giá trị cho ứng dụng với nhiều màn hình, biểu đồ phức tạp, phương tiện truyền thông giàu có, hoặc các phần thứ ba SDK.
Tăng tốc nạp lười biếng với phản ứng.lazy và Suspense
Tuy nhiên, có những sắc thái so với cách ứng xử của web.
Thiết lập cơ bản
Trước tiên, đảm bảo bạn đang sử dụng một phiên bản tự động người bản bản tương thích (> = 0,62) và gói phụ tùng của bạn được cấu hình để hỗ trợ nhập khẩu năng động. Metro hỗ trợ nhập khẩu năng động ngoài hộp kể từ khi phiên bản 0.59.
Bước 1 – Lấp bênh nạp thành phần
Tạo một thành phần nặng, ví dụ, một biểu đồ phức tạp hoặc một danh sách lớn, và nhập nó bằng ]:
Bước 2 — Được bao bọc bởi sự trầm cảm
Cung cấp một UI sao lưu trong khi các thành phần đang được tải:
Động vật quan trọng để có thể phản ứng lại bản địa
Trên mạng, hoạt động không thay đổi. Chậm chạp. Trong bản địa, có sẵn, nhưng không phải mọi thành phần hoạt động hoàn hảo trong nó - đặc biệt là các thành phần thuộc về lớp học hay thành phần phụ để tạo hiệu ứng phụ. Luôn luôn thử các thành phần lười biếng của bạn trên thiết bị thật. Đối với hầu hết các thành phần chức năng sử dụng móc, nó hoạt động tốt.
Kỹ thuật nạp lười biếng cao cấp
Name
Trường hợp sử dụng thông thường nhất cho tải lười biếng trong ứng dụng di động là hoãn lại việc tải màn hình. Phản ứng Di chuyển, thư viện định vị de ecso, hỗ trợ mẫu này ra khỏi hộp qua [FLT: 10] đạo lý và năng động .
Ví dụ với sự định vị 6:
Bạn có thể tối ưu hóa thêm bằng cách dùng ) [FLT: 1]]: khi người dùng nào đó lướt qua một thẻ tab hoặc di chuyển tới màn hình, bạn có thể bắt đầu nạp màn hình kế tiếp trước bằng hay hướng dẫn cuộc gọi.
& Xác lập cho máy ảnh
Ảnh thường là tài sản nặng nhất trong ứng dụng di động. Lzy tải ảnh có nghĩa là hoãn việc tải xuống cho đến khi chúng gần cổng xem. Bạn có thể đạt được điều này bằng cách sử dụng thư viện như [FLT: 0] để nạp và lưu trữ các hình ảnh. Để tìm giải pháp riêng [FL:15] thông qua [L: 1] hoặc [L: 2] [FT:] [L:] [L:] [L:] [L:]], 18], cả hai cách hỗ trợ tải và lưu trữ tùy biến. Để tìm giải pháp riêng [FL:15].
Ví dụ với FlatList chỉ tải hàng nhìn thấy:
Cách này đảm bảo chỉ có các mục bên trong cửa sổ thấy được, còn các mục khác được ảo hoá.
Chia mã với màn hình di chuyển chậm và phản ứng
Đối với ứng dụng lớn, bạn cũng có thể chia gói JavaScript cho mỗi màn hình sử dụng phản ứng.lazy kết hợp với chức năng của từ việc di chuyển phản xạ v5. Tuy nhiên, ghi chú rằng việc di chuyển phản ứng v6 sử dụng trực tiếp thành phần, để bạn có thể gói nó với tính lười biếng như được trình bày ở trên.
Những thực hành tốt nhất cho việc tải chậm trong bản địa phản ứng
- Hãy xác định xem nên nạp gì – phân tích ứng dụng của bạn để tìm các thành phần nặng nhất. Thường thì đây là biểu đồ, bản đồ, người chơi video, dạng phức tạp, và màn hình hiếm khi người dùng ghé thăm.
- Phụ đề có ý nghĩa ) – Dùng màn hình khung, hiệu ứng âm tính, hay chỉ thị hoạt động để người dùng biết điều gì đang xảy ra.
- Thiết bị cắm vào khe ) – Một khi đã nạp vào thành phần, hãy xem xét việc giữ nó trong bộ nhớ bằng cách sử dụng bộ nhớ (v. d., Redux, Recoil) hoặc để tránh tái gắn lại.
- Không cho phép tải những thành phần nhỏ ) – Chi phí của việc nhập khẩu năng động và Suspense có thể cao hơn lợi ích cho các thành phần rất nhỏ (v. d., một riêng lẻ.
- Chạy trên thiết bị cấp thấp ) – đạt được mức độ có thể nhận thấy nhiều nhất trên thiết bị với các thiết bị có độ giới hạn RAM và CPU chậm hơn.
- Việc sử dụng đường liên kết của Metro đòi hỏi – Đối với những dự án cũ không thể sử dụng các hàng nhập khẩu năng động, Metro hỗ trợ với trong Metro Config để hoãn lại môđun đang tải. Đây là một phương pháp tiếp cận dưới cấp nhưng hiệu quả.
Những cạm bẫy thông thường và cách tránh chúng
Quá tải lười biếng
Lấp bênh nạp mỗi thành phần có thể dẫn đến một trải nghiệm người dùng giật mình với quá nhiều chất chồng lên nhau.
2. Sự tải chậm trong khi chuyển tiếp
Nếu bạn lười biếng tải màn hình mà người dùng định vị qua một chuyển tiếp chồng hay thẻ, trạng thái tải có thể gây ra sự chậm trễ khi nạp màn hình trước, hoặc khi người dùng bật tùy chọn này.
3 Không dùng quyền hạn
Nhập khẩu động có thể thất bại do vấn đề mạng hay sự tham nhũng gói. Dùng để bắt lỗi trong hậu phương Suspense:
4. Hành vi không nhất quán qua nền tảng
iOS và A-bốt có thể xử lý khác nhau.
Đo và theo dõi hiệu suất
Trước khi triển khai tải lười biếng, hãy thiết lập các bộ đo cơ bản sử dụng Trình theo dõi hành động bản địa [FLT: 1] (được phép qua trình đơn phát triển), ) FlT: ) FLT:] FlT: 3, hoặc rem [FL:] Theo dõi::::::
- Thời gian để vẽ đầu (TTIR)
- Thời gian tương tác (TTI)
- Dùng bộ nhớ trước và sau khi tải lười biếng
- Gói
Sau khi thực hiện, xác định lại để định lượng các cải tiến. Trong nhiều ứng dụng tự động phản ứng với thế giới thực (v., [FLT: 0], ứng dụng ), việc tải thời gian khởi chạy giảm dần đến 40%.
Tài nguyên bên ngoài và việc đọc thêm
- -- -- bác sĩ chính thức bản địa -- nạp JavaScript )
- - Quay lại việc di chuyển – Screen Lazy nạp
- Gọi cho bên tài liệu để chia )
Kết luận
Lzy nạp không phải là một viên đạn bạc, nhưng khi áp dụng đúng, nó là một trong những công cụ mạnh nhất trong một quá trình phát triển công cụ tự động phản ứng. Bằng cách hoãn việc tải các thành phần, ảnh và màn hình, bạn có thể cắt giảm đáng kể thời gian nạp đầu tiên, giảm áp lực bộ nhớ, và cung cấp một kinh nghiệm mềm dẻo cho người dùng của bạn. Bắt đầu với những người phạm tội nặng nhất trong ứng dụng của bạn, như là bức ảnh giật, các biểu đồ phức tạp, hoặc ít khi truy cập các thẻ, và ít khi chuyển sang các phần khác. Hãy nhớ rằng bạn có thể giảm bớt các thiết bị thật, và giảm cân nhắc cẩn thận, sẽ nâng ứng dụng công việc in và nâng cao hơn.