การ เข้าใจ ผิด
React genbook ได้กลายเป็นโครงร่างสําหรับการพัฒนาแบบพกพาแบบข้ามระบบ อนุญาตให้นักพัฒนาสร้างแอพแบบระดับท้องถิ่นด้วยจาวาสคริปต์และรีแนค โปรแกรมต่าง ๆ ได้มีการปรับขนาดและขยายผล โปรแกรมเหล่านี้มักจะเกิดขึ้น -- โดยเฉพาะระหว่างการโหลดครั้งแรก โดยเฉพาะอย่างยิ่ง กลยุทธ์ที่มีประสิทธิภาพมากที่สุดในการลดความขี้เกียจในการโหลดปัญหาเหล่านี้ คือการโหลด [FT: 0] แบบเคลื่อนไหว [FLT: 1] เทคนิคนี้จะหน่วงการโหลดส่วนประกอบหน้าจอ, และจําเป็นในการลดเวลาการทํางาน และการเคลื่อนไหวของหน่วยความจําจริง ๆ ครอบคลุมด้วย โดยเพิ่มข้อมูลการเริ่มใช้งานนี้ เราจะปรับการใช้งานการโหลดแบบขี้เกียจลงเป็นระบบย่อยแบบ LT (FT: 0) เพื่อทําการค้นหารูปแบบการนําร่อง และลดความยืดหยุ่นของข้อมูลพื้นฐาน
มี การ ขน ส่ง อะไร ที่ เป็น การ ลื่น?
การโหลดแบบ Lazy เป็นรูปแบบการออกแบบที่เลื่อนการเริ่มการโหลดของวัตถุ, ส่วนประกอบ, หรือทรัพยากร จนกระทั่งถึงจุดที่ต้องการ ในบริบทของภาษาพื้นเมือง ซึ่งหมายความว่า หน้าจอหรือส่วนประกอบนี้ยังไม่ได้โหลดและแก้ไขและแก้ไขไปจนกว่าผู้ใช้จะเข้าสู่ระบบหรือการมองเห็นของมันใกล้จะมาถึง เป้าหมายหลักคือ:
- [FLT: 0]. faster transfer text แปล – app เปิดตัวด้วยส่วนประกอบที่จําเป็นเท่านั้น ผู้ใช้จึงเห็นเนื้อหาได้เร็วขึ้น
- [FLT: 0] การใช้หน่วยความจําแบบ LOWER – ส่วนประกอบที่ไม่ได้ใช้ไม่ถูกเก็บไว้ในหน่วยความจํา
- [FLT: 0] ตอบสนอง – ด้ายหลักไม่ได้ถูกปิดกั้นด้วยการนําเข้าหนักระหว่างการเริ่มงาน
ในการเรียกแบบร่าง การโหลดแบบขี้เกียจนั้น ตามปกติแล้วจะถูกนําไปใช้ผ่านการนําเข้าแบบไม่ตายตัว โดยใช้ [FLT: 0] และ หรือทางการแก้ปัญหาเฉพาะของไลบรารี เช่น [FLT: 0] การนําร่อง[FLT: 1) สําหรับการโหลดแบบขี้เกียจของหน้าจอ
ผล ประโยชน์ จาก การ ขน ของ อย่าง ขี้เกียจ ใน ลักษณะ ที่ ไม่ ถูก ต้อง
การรับเด็กขี้เกียจไปเลี้ยง จะส่งผลให้การปรับปรุงประสิทธิภาพได้หลากหลาย
- [FLT: 0]. สืบค้นเมื่อเริ่มใช้กลุ่มย่อย [FLT: 1] - รหัสแยกแยก จาวาสคริปต์ให้ถูกแบ่งเป็นก้อนเล็กที่โหลดเมื่อมีความต้องการ ซึ่งจําเป็นมาก เนื่องจากใช้อะพลิเคชันของออบโตเมชัน จะใช้เรือรวมจาวาสคริปต์เพียงชุดเดียวซึ่งจะต้องประมวลผลและดําเนินการดําเนินการเมื่อเปิดใช้งาน
- [FLT: 0] เวลาในการโต้ตอบ (TTI) [FLT: 1] – แอพนี้ใช้ได้ก่อนหน้านี้ เนื่องจากการคํานวณหนักและนําเข้าห้องสมุดขนาดใหญ่ถูกเลื่อนออกไป
- [FLT: 0] แบตเตอรี่ที่ดีขึ้น – ทรัพยากรที่ Idle is not load, การลดการใช้งาน CPU และแบตเตอรี่การอนุรักษ์.
- [FLT: 0] การบํารุงรักษา – การโหลดลาซีส่งเสริมรหัส , ทําให้โค๊ดเบส ง่ายขึ้นในการนําร่องและการทดสอบ
ในขณะที่ประโยชน์เหล่านี้มีสากล การโหลดแบบขี้เกียจ มีคุณค่าโดยเฉพาะสําหรับแอพที่มีหน้าจอหลายจอ ชาร์ตที่ซับซ้อน สื่อมวลชนที่อุดมไปด้วย หรือ SDKs.
การโหลดแบบขี้เกียจอย่างสมบูรณ์พร้อมแบบ react.lazy และ Suspence
React obronal รองรับ และ ตั้งแต่เวอร์ชัน 0.62 อย่างไรก็ตาม มีความแตกต่างเมื่อเทียบกับการรีแอคชั่นสําหรับเว็บ ลองเดินผ่านกระบวนการสร้างคอนกรีตกัน
ตั้งค่าพื้นฐาน
อย่างแรก เพื่อให้แน่ใจว่าคุณต้องใช้รุ่นที่เข้ากันได้กับ recact verbook version (>=0.62) และตัวแพ็กเกอร์ (Mettro) ของคุณได้ถูกปรับแต่งให้รองรับการนําเข้าแบบไดนามิกส์ เมโทรสนับสนุนการนําเข้าแบบไดนามิกส์ที่อยู่นอกกล่องตั้งแต่เวอร์ชัน 0. 59
ขั้น ที่ 1 – การ ทํา งาน อย่าง เหนื่อย ล้า
ยกตัวอย่างการสร้างองค์ประกอบที่หนัก เช่น แผนภูมิหรือรายการขนาดใหญ่ และนําเข้ามันโดยใช้ [FLT: 4]:
[FLT: 5]
ขั้น ที่ 2 – ติด กับ ความ เจ็บ ปวด
ให้ข้อมูลล้มเหลวของ UI ขณะที่ส่วนประกอบถูกโหลด:
[FLT: 6]
การ ทํา คา วัง ะ ที่ สําคัญ สําหรับ การ กลับ ชาติ มา เกิด
บนเว็บ [FLT: 7] ทํางานกับ react. searchy. in react ablic, [FLT: 8] ใช้งานแต่ไม่ใช่ส่วนประกอบทั้งหมดที่ทํางานอย่างสมบูรณ์แบบภายในระบบ -- ส่วนประกอบหรือส่วนประกอบมรดกที่พึ่งพา [FLT: 9] เพื่อลูกเล่นข้าง ๆ มักจะมีการทดสอบส่วนประกอบที่ขี้เกียจโหลดบนอุปกรณ์จริง ๆ เสมอ สําหรับส่วนประกอบที่มีการทํางานส่วนใหญ่แล้ว ใช้ตะขอได้
การเคลื่อนไหวแบบ Lazy ขั้นสูง
การเรียกใช้แบบ Lavel Lazy ด้วยระบบนําทางแบบกลับด้าน
กรณีที่ใช้ทั่วไปในการโหลดแบบขี้เกียจในโปรแกรมพกพา คือการเลื่อนการโหลดหน้าจอกลับ การนําร่อง, ไลบรารีการนําทางแบบ de Angelo, รองรับรูปแบบนี้จากกล่องผ่านทาง [FLT: 10] และไดรฟ [FLT: 11].
ตัวอย่างที่มี ทิศทางกลับ 6:
[FLT: 12]
คุณสามารถเพิ่มค่านิยมได้โดย [FLT: 0] priling [FLT: 1): เมื่อผู้ใช้ยกแท็บหรือเส้นทางไปยังหน้าจอ คุณสามารถเริ่มโหลดหน้าจอถัดไปได้ล่วงหน้าโดยใช้ [FLT: 13] หรือคู่มือ [FLT: 14].
เรียกใช้ภาพแบบขี้เกียจ
รูปภาพมักจะเป็นสินทรัพย์ที่หนักที่สุดในโปรแกรมเคลื่อนที่ แฟ้มภาพแบบ Lazy จะหมายถึงการหน่วงการโหลดภาพแบบ Lazy ของพวกเขาจนกว่ามันจะอยู่ใกล้ ๆ วิวพอร์ต คุณสามารถบรรลุผลได้โดยใช้งานไลบรารีเช่น [FLT: 0] รูปแบบของ [FLTTT] [FLTT: 1] หรือ[FT] trl] expect [FT] Profile [FL] [3], ทั้งที่รองรับการโหลดและวางวางแผงสําหรับวิธีการพิมพ์แบบขี้เกียจ, [FTL: [FL]] [F]] [F]] [F]:::
ตัวอย่างกับแบนต์ลิสท์ที่จะโหลดแถวที่มองเห็นได้:
วิธีการนี้ จะทําให้มีการแสดงผลเฉพาะรายการภายในหน้าต่างที่มองเห็นได้เท่านั้น ในขณะที่รายการอื่น ๆ ถูกสร้างขึ้นมา
การแยกโค้ดด้วยหน้าจอนําทางแบบรีแอคต์ การแยกและลดความเร็ว
สําหรับ Apps ขนาด ใหญ่ คุณสามารถแยกกลุ่มจาวาสคริปต์ต่อจอได้ โดยใช้ react.lazy ในการจับคู่กับฟังก์ชันการนําทางแบบกลับด้าน [FLT: 20] จาก parts Profile v5 อย่างไรก็ตาม โปรดสังเกตว่า paract parts v6 ใช้ส่วนประกอบโดยตรง ดังนั้นคุณสามารถห่อด้วยขี้เกียจ ดังแสดงไว้ด้านบนได้
ฝึก ซ้อม ที่ ดี ที่ สุด สําหรับ การ ทํา งาน แบบ ขี้เกียจ ใน ลักษณะ เดิม
- [FLT: 0]. ระบุว่าจะโหลดอะไร - โพรไฟล์แอพของคุณเพื่อหาส่วนประกอบที่ไวต่อการวิ่ง ส่วนใหญ่จะเป็นชาร์ต, แผนที่, เครื่องเล่นวิดีโอ, รูปแบบซับซ้อน และหน้าจอผู้ใช้ไม่ค่อยเข้าชม
- [FLT: 0] preview cracks ที่มีความหมาย - ใช้จอโครงกระดูก, ผลกระทบของเครื่องชิมเมอร์ หรือตัวบ่งชี้กิจกรรม ดังนั้นผู้ใช้รู้ว่ากําลังมีอะไรเกิดขึ้น
- [FLT: 0]. Combine with caching – เมื่อส่วนประกอบถูกโหลดแล้ว ให้พิจารณาใช้หน่วยความจําในการบริหารระบบของรัฐ (เช่น Redux, Recul) หรือ (FLT:21) เพื่อหลีกเลี่ยงการขึ้นครองตําแหน่งอีกครั้ง
- [FLT: 0] ไม่ขี้เกียจโหลดส่วนประกอบเล็กๆ – ค่าใช้จ่ายการนําเข้าแบบไดนามิคและซัคเพนสามารถเกินประโยชน์ของส่วนประกอบขนาดเล็กได้ (เช่น ซิงเกิล [FLT: 22]).
- [FLT: 0] วางจําหน่ายอุปกรณ์แบบเต็ม ([FLT: 1) – ประสิทธิภาพการทํางานสามารถสังเกตเห็นอุปกรณ์ที่มีความเร็วสูงสุด และ CPU ต่ํากว่า ได้โดยเพิ่มเงื่อนไขเหล่านี้
- [FLT: 0] ใช้เมโทรในบรรทัด เรียกค่า [FLT: 1] – สําหรับโครงการเก่าที่ไม่สามารถใช้ข้อมูลแบบไดนามิคได้ เมโทรรองรับ [FLT: 23] พร้อม [FLT: 24] ในเครื่องควบคุมเมโทรเพื่อเลื่อนการโหลดของโมดูล นี่เป็นวิธีการนําขึ้นสู่ระดับต่ําแต่ได้ผล
หลุม พราง ทั่ว ไป และ วิธี หลีก เลี่ยง หลุม พราง
1 ทําการโหลดแบบเกินขีดเส้นพริ้วไหว
การโหลดส่วนประกอบแบบขี้เกียจ ส่วนประกอบแต่ละส่วนประกอบสามารถนําไปสู่ ประสบการณ์ที่ผู้ใช้กระสับกระส่ายกับเครื่องปั่นโหลดมากเกินไป
2. การโหลดแบบขี้เกียจระหว่างการแปลง
หากคุณขี้เกียจในการโหลดหน้าจอที่ผู้ใช้จะนําทางผ่านสแต็กหรือแท็บ การโหลดจะก่อให้เกิดความล่าช้าขึ้น พิจารณาการเลื่อนหน้าจอก่อนหลังการเมานท์หน้าจอก่อนหน้า หรือเมื่อมีการเคลื่อนเมาส์อยู่เหนือปุ่ม
3. ไม่ ใช่ การ จัด การ ข้อ ผิด พลาด
การนําเข้าแบบไม่ตายตัว สามารถล้มเหลวได้ เนื่องจากมีปัญหาของเครือข่ายหรือการทุจริตของเครือข่าย โปรดใช้ เพื่อจับข้อผิดพลาดใน Suspented login:
4. พฤติกรรมที่ไม่สอดคล้องกันตรงข้ามแพลตฟอร์ม
IOS และแอนดรอยด์อาจจะจัดการ [FLT: 27] ได้แตกต่างกัน ทดสอบบนทั้งสองชานชาลาเสมอ
การ วัด และ การ เฝ้า ดู ผล งาน
ก่อนดําเนินการโหลดขี้เกียจ, ตั้งเมตริกฐานโดยใช้เครื่องมือเช่น [FLT: 0] React About Profile [FLT: 1) [FLT: 1) (Voliable using usical metrics) Fliper[FLTT:3] หรือ[FLT: 4] Refact Trafts [FLT: 5]. Law.
- เวลาเริ่มในการแปล (TIR)
- เวลาสําหรับโต้ตอบ (TTI)
- การใช้หน่วยความจําก่อนและหลังการโหลดแบบขี้เกียจ
- รองรับขนาดเต็มหนึ่งท่อน
หลังจากดําเนินการแล้ว ให้เปลี่ยนโปรแกรมใหม่เพื่อปรับค่าโปรแกรมใหม่ โดยในโปรแกรมย่อยย่อยย่อยของสิ่งมีชีวิตจริง (เช่น [FLT: 0]. [FLT: 0]. apps (FLT: 1). ขี้เกียจโหลดเวลาเริ่มต้นที่ 40%.
ทรัพยากรภายนอกและการอ่านเพิ่มเติม
- [FLT: 0]. สืบค้นเอกสารทางการ – Offiptiating จาวาสคริปต์
- [FLT: 0] การนําทางย้อนกลับ – Lazy จอโหลด[FLT: 1]
- [FLT: 0] เรียก track Blog - ประมวลรหัสแยกเป็นภาษาพื้นเมือง
รูปแบบการวน
การโหลดแบบขี้เกียจไม่ใช่กระสุนเงิน แต่เมื่อปรับใช้อย่างถูกต้องแล้ว มันเป็นเครื่องมือที่มีประสิทธิภาพมากที่สุดอย่างหนึ่งในเครื่องมือของนักพัฒนาพื้นเมือง ซึ่งมีการลดการโหลดองค์ประกอบ, องค์ประกอบ, ภาพถ่าย, และหน้าจออื่น ๆ ที่ไม่ใช่การโหลด คุณจะสามารถลดการโหลดครั้งแรกลงได้อย่างมาก ลดความจําลง ลดความกดอากาศลง และส่งมอบประสบการณ์การจับต้องแบบผ้าไหม-smoth ให้ผู้ใช้ของคุณ เริ่มกับผู้กระทําความผิดที่มีคุณภาพสูงสุดในโปรแกรมของคุณ เช่น การสาดหน้าจอ, ตารางการจับจุด, หรือการดูแบบแทบจะไม่ได้ -- และค่อยๆเพิ่มส่วนต่าง ๆ ที่ไม่ต่อเนื่อง เพื่อทําการโหลด โปรดจําการวัดอุปกรณ์จริง ๆ และลดความเร็ว การโหลดแบบหย่อน การโหลดแบบขี้เกียจนั้น จะทําให้ระบบทํางานได้ง่ายขึ้น โดยเพิ่มความยืดหยุ่น และเพิ่มความเป็นมืออาชีพของคุณ