แนวทางปฏิบัติแนะนำสำหรับการโต้ตอบกับแผนที่การนำทาง

หน้านี้จะอธิบายแนวทางปฏิบัติแนะนำสำหรับการโต้ตอบกับแผนที่การนําทางในแอป

ใช้ SupportNavigationFragment แทน NavigationView เมื่อเป็นไปได้

SupportNavigationFragment คือ Wrapper เพื่อความสะดวกในการจัดการ Callback ของวงจร NavigationView รายการ คุณจึงไม่ต้องจัดการรายการเหล่านี้ Callback ด้วยตนเอง วิธีนี้ทำให้เกิดข้อผิดพลาดน้อยลงและเป็นวิธีที่แนะนำในการใช้การนําทางในแอป เมื่อใช้ SupportNavigationFragment โปรดอย่าเรียกใช้เหตุการณ์วงจรชีวิตของ NavigationView

หากใช้ NavigationView ให้ใช้การจัดลำดับแบบเข้มงวดเมื่อเรียกใช้วิธีอายุการใช้งาน

NavigationView โฮสต์แผนที่การนำทางและติดตามวงจรอย่างใกล้ชิด เป็นกิจกรรมและส่วนย่อยของ Android ซึ่งจะดำเนินการบางอย่างเมื่อ จะเรียกใช้เหตุการณ์ในวงจร NavigationView ดำเนินการเริ่มต้นหลายรายการ ใน NavigationView#onCreate และ NavigationView#onStart และการล้างข้อมูลใน NavigationView#onStop และ NavigationView#onDestroy และเมื่ออื่นๆ ระบบจะประมวลผลเหตุการณ์ในวงจร

วิธีวงจรของ NavigationView มีความหมายเหมือนกับใน Android กิจกรรมหรือส่วนย่อย เช่น onCreate() จาก NavigationView โดยประมาณ แปลโดยและควรเรียกใช้ด้วยการเรียกกลับในวงจรจาก Android กิจกรรมหรือส่วนย่อย เนื่องจาก NavigationView ไลฟ์ไซเคิลคอลแบ็กจะอิงตามและเรียกใช้ตามลําดับเดียวกับไลฟ์ไซเคิลคอลแบ็กของ Android คุณจึงต้องจัดลําดับเมธอด NavigationView เหล่านี้อย่างเหมาะสม มิฉะนั้น คุณอาจ สัมผัสประสบการณ์ความทรงจำ การรั่วไหลของข้อมูล, UI ข้อผิดพลาด ตำแหน่งไม่อัปเดต และปัญหาอื่นๆ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวงจรกิจกรรม Android โปรดดู แนวคิดเกี่ยวกับวงจรกิจกรรม ในเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์ Android

ตารางต่อไปนี้แสดงกรณีที่ควรเรียกใช้เมธอดอื่นๆ ของวงจรหลังจากเมธอดของวงจรที่ระบุ

วิธีอายุการใช้งาน เรียกใช้ที่ใดในวงจรชีวิตของกิจกรรม เรียกใช้หลังจากเมธอดวงจรชีวิตของใคร
onConfigurationChanged() เรียกใช้เมื่อ UI อยู่เบื้องหน้าและมีการเปลี่ยนแปลงการกำหนดค่า หลังจาก onStart() เสมอ
onTrimMemory() เรียกใช้เมื่อกิจกรรมทำงานอยู่เบื้องหลัง ทุกครั้งหลัง onPause()
onSaveInstance() เรียกใช้ก่อนที่กิจกรรมจะถูกทำลาย หลัง onStop() เสมอ

อย่าเรียกเมธอดวงจรเหล่านี้หลายครั้งโดยไม่เรียกเมธอด วิธีการปิดที่สอดคล้องกันก่อน นอกจากนี้ โปรดทราบว่าหากแอปจัดการการเรียกกลับของวงจรชีวิตของ Android บางรายการเอง และมีการเพิ่ม NavigationView ลงใน FRGMENT หลังจากสร้างหรือเริ่มต้น แอปควรเรียกใช้เมธอดที่เฉพาะเจาะจงด้วยตนเองตามลําดับที่เหมาะสมเพื่อเริ่มต้น Navigation SDK อย่างถูกต้อง

ดูคําแนะนําเพิ่มเติมเกี่ยวกับการใช้วิธีการเหล่านี้ได้ที่แอปสาธิต Navigation SDK

หากใช้ NavigationView ให้เรียกเหตุการณ์วงจรจากกิจกรรมหรือจาก Frgament เท่านั้น

หากต้องการจัดลําดับเมธอดวงจรชีวิตของแอตทริบิวต์อย่างเคร่งครัด ให้เรียกเหตุการณ์เหล่านี้จาก callbacks ของวงจรชีวิตของแอตทริบิวต์หรือแฟรกเมนต์ ซึ่งจะรับเหตุการณ์เหล่านี้ตามลําดับ วิธีนี้ช่วยให้แอปไม่ต้องประสานงานระหว่างข้อมูลโค้ดที่แยกส่วนและกิจกรรม และทำให้ไม่มีการเรียกซ้ำ