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

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

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