این صفحه بهترین روشها را برای تعامل با نقشه پیمایش در برنامه شما توضیح میدهد.
در صورت امکان از SupportNavigationFragment
به جای NavigationView
استفاده کنید
SupportNavigationFragment
پوششی برای سهولت مدیریت تماسهای چرخه حیات NavigationView
است، بنابراین نیازی به مدیریت این تماسها ندارید. این روش کمتر مستعد خطا است و روش ترجیحی برای استفاده از Navigation در برنامه شماست. هنگام استفاده از SupportNavigationFragment
، مطمئن شوید که رویدادهای چرخه حیات NavigationView
فراخوانی نکنید.
اگر از NavigationView
استفاده میکنید، هنگام فراخوانی روشهای چرخه حیات، از ترتیب دقیق استفاده کنید
NavigationView
نقشه ناوبری را میزبانی میکند و رویدادهای چرخه حیات را بهعنوان فعالیتها و قطعات Android از نزدیک دنبال میکند و در هنگام فراخوانی این رویدادهای چرخه حیات، اقدامات خاصی را انجام میدهد. NavigationView
چندین مقداردهی اولیه را در NavigationView#onCreate
و NavigationView#onStart
و پاکسازیها را در NavigationView#onStop
و NavigationView#onDestroy
و همچنین زمانی که سایر رویدادهای چرخه حیات پردازش میشوند، اجرا میکند.
روشهای چرخه حیات NavigationView
همان معنایی را دارند که برای فعالیتها یا قطعات اندروید دارند. برای مثال، onCreate()
از NavigationView
تقریباً به فراخوانی چرخه حیات از فعالیت یا قطعه Android ترجمه میشود و باید توسط آن فراخوانی شود. از آنجایی که تماسهای چرخه حیات NavigationView
بر اساس و به همان ترتیب فراخوانیهای چرخه حیات Android هستند، به ترتیب قوی این روشهای NavigationView نیاز است. در غیر این صورت، ممکن است با نشت حافظه ، خطاهای رابط کاربری، به روز نشدن مکان و مشکلات دیگر مواجه شوید.
برای کسب اطلاعات بیشتر در مورد چرخه حیات فعالیت Android، به بخش مفاهیم چرخه فعالیت در مستندات برنامهنویس Android مراجعه کنید.
جدول زیر نشان می دهد که چه زمانی باید سایر روش های چرخه حیات پس از روش های چرخه حیات مشخص شده فراخوانی شوند:
روش چرخه حیات | در جایی در چرخه حیات فعالیت فراخوانی می شود | پس از کدام روش چرخه حیات فراخوانی شد |
---|---|---|
onConfigurationChanged() | هنگامی که UI در پیش زمینه است و پیکربندی تغییر می کند، فراخوانی می شود. | همیشه بعد از onStart() |
onTrimMemory() | زمانی که یک فعالیت در پسزمینه است فراخوانی میشود. | همیشه بعد از onPause() |
onSaveInstance() | قبل از از بین رفتن یک فعالیت فراخوانی می شود. | همیشه بعد از onStop() |
این متدهای چرخه عمر را چندین بار بدون فراخوانی روش بسته شدن مربوطه فراخوانی نکنید. علاوه بر این، به خاطر داشته باشید که اگر برخی از این تماسهای چرخه حیات اندروید توسط خود برنامه مدیریت میشوند و NavigationView
پس از ایجاد یا شروع به قطعه اضافه میشود، برنامه باید روشهای خاص را به ترتیب مناسب فراخوانی کند تا به درستی مقداردهی اولیه شود. Navigation SDK.
برای راهنمایی بیشتر در مورد استفاده از این روشها، به برنامه نمایشی Navigation SDK مراجعه کنید.
اگر از NavigationView
استفاده می کنید، رویدادهای چرخه حیات را از فعالیت یا قطعه فراخوانی کنید، نه هر دو
برای حفظ نظم دقیق متدهای چرخه حیات، این رویدادها را از اکتیویتی یا از فراخوانهای چرخه حیات قطعه که به ترتیب این رویدادها را دریافت میکنند، فراخوانی کنید. این رویکرد تضمین میکند که برنامهها نیازی به هماهنگی بین بخشها و فعالیتها و ایجاد تماسهای تکراری ندارند.