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

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

ใช้ 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 และกิจกรรม และทำให้เกิดการเรียกซ้ำ