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

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

ใช้ SupportNavigationFragment แทน NavigationView ทุกครั้งที่เป็นไปได้

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

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

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

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

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

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

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

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

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

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

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