שיטות מומלצות לאינטראקציה עם מפת הניווט

הדף הזה מסביר שיטות מומלצות לאינטראקציה עם מפת הניווט ב: באפליקציה שלך.

כשהדבר אפשרי, כדאי להשתמש ב-SupportNavigationFragment במקום ב-NavigationView

SupportNavigationFragment הוא wrapper לנוחות הטיפול NavigationView קריאות חוזרות (callback) במחזור החיים, לכן אין צורך לנהל אותן מבצעים קריאה חוזרת בעצמם. השיטה הזו פחות מועדת לשגיאות והדרך המועדפת להשתמש בניווט באפליקציה. כשמשתמשים במאפיין SupportNavigationFragment, חשוב לוודא כדי להפעיל NavigationView אירועים במחזור החיים.

אם משתמשים ב-NavigationView, צריך להשתמש בסדר קפדני בזמן ההפעלה של שיטות מחזור החיים

NavigationView מארח את מפת הניווט ועוקב מקרוב אחרי מחזור החיים אירועים כמו פעילויות ומקטעים של Android, ביצוע פעולות ספציפיות כאשר הם מופעלים על ידי אירועים במחזור החיים. NavigationView מבצע כמה פעולות אתחול ב-NavigationView#onCreate וב-NavigationView#onStart, פעולות ניקוי ב-NavigationView#onStop וב-NavigationView#onDestroy, וגם כשמתבצע עיבוד של אירועים אחרים במחזור החיים.

ל-NavigationView יש את אותן שיטות מחזור חיים כמו ל-activities או ל-fragments ב-Android. לדוגמה, onCreate() מתוך NavigationView בערך מתורגמת ל- וצריכה להיות מופעלת על ידי קריאות חוזרות (callback) של מחזור החיים מ-Android פעילות או מקטע. הקריאות החוזרות של מחזור החיים של NavigationView מבוססות על הקריאות החוזרות של מחזור החיים של Android, ומופעלות באותו סדר, ולכן נדרש סדר קפדני של השיטות האלה של NavigationView. אחרת, ייתכן לחוות את הזיכרון הדלפות, ממשק משתמש שגיאות, מיקום לא מתעדכן ובעיות אחרות.

לקבלת מידע נוסף על מחזור החיים של פעילות ב-Android, אפשר להיכנס אל מושגים בנושא מחזור החיים של פעילות בתיעוד למפתחים של Android.

בטבלה הבאה אפשר לראות מתי צריך להפעיל שיטות אחרות של מחזור החיים, לאחר שיטות ספציפיות למחזור החיים:

השיטה של מחזור החיים בוצעה הפעלה במיקום במחזור החיים של הפעילות מופעלת אחרי ה-method של מחזור החיים
onConfigurationChanged() הפונקציה מופעלת כשממשק המשתמש נמצא בחזית וההגדרה משתנה. תמיד אחרי onStart()
onTrimMemory() הקריאה מתבצעת כשפעילות מתבצעת ברקע. תמיד אחרי onPause()
onSaveInstance() הקריאה מתבצעת לפני שהפעילות נהרסת. תמיד אחרי onStop()

לא לקרוא לשיטות מחזור החיים האלה כמה פעמים בלי לקרוא שיטת הסגירה המתאימה ראשונה. בנוסף, חשוב לזכור שאם חלק מהקריאות החוזרות ל-Android במהלך מחזור החיים מנוהלות על ידי האפליקציה עצמה, וה-NavigationView מתווסף ל-fragment אחרי היצירה או ההתחלה, האפליקציה צריכה לבצע את הקריאה לעצמה לשיטות הספציפיות בסדר הנכון כדי לאתחל את Navigation SDK בצורה נכונה.

הנחיות נוספות לשימוש בשיטות האלה מפורטות באפליקציית הדגמה של Navigation SDK.

אם משתמשים ב-NavigationView, צריך להפעיל אירועים של מחזור החיים מהפעילות או מהמקטע, אבל לא משניהם

כדי לשמור על הסדר המחמיר של שיטות מחזור החיים, צריך להפעיל את האירועים האלה מהקריאות החוזרות (callbacks) של מחזור החיים של הפעילות או של הפלח, שמקבלות את האירועים האלה לפי הסדר. הגישה הזו מבטיחה שאפליקציות לא יצטרכו לתאם בין קטעים לבין פעילויות ולגרום לקריאות כפולות.