หน้านี้จะอธิบายแนวทางปฏิบัติแนะนำสำหรับการโต้ตอบกับแผนที่การนําทางในแอป
ใช้ 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 ของวงจรชีวิตของแอตทริบิวต์หรือแฟรกเมนต์ ซึ่งจะรับเหตุการณ์เหล่านี้ตามลําดับ วิธีนี้ช่วยให้แอปไม่ต้องประสานงานระหว่างข้อมูลโค้ดที่แยกส่วนและกิจกรรม และทำให้ไม่มีการเรียกซ้ำ