atVSG

0011001000110100

وحید امیری مطلق

توسعه دهنده وب و موبایل

جلوگیری از بارگذاری مجدد دیتا در Activity در Xamarin.Android هنگام تغییر Orientation


xamarin

سیستم عامل اندروید به طور پیش فرض هنگام چندین اتفاق Activity رو Restart میکنه. یکی از این وضعیت ها تغییر وضعیت دستگاه از حالت Portrait به Landscape و برعکس و همچنین در نسخه های جدید تر، تغییر سایز صفحه نمایش هست. اکثر مواقع اطلاعات درون activity حاصل یکسری عملیات سنگین هست و ریلود کردن دوباره ی اون ها صرفا به خاطر تغییر حالت دستگاه، عاقلانه نیست. برای این منظور میتونیم از کد زیر در قسمت attributes هر activity که میخواهیم اطلاعاتش موقع تغییر orientation حفظ بشه استفاده کنیم:

ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize)

برای مثال در این activity:

[Activity (Label = "@string/app_name", MainLauncher = true, Icon = "@mipmap/icon", ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize)]
public class HomeActivity : Activity
{
	protected override void OnCreate (Bundle savedInstanceState)
	{
		base.OnCreate (savedInstanceState);
	}
}

با این روش احتیاجی هم به تغییر فایل manifest نیست.



 برچسب ها: ، ، ، ، ،

 دیدگاه ها:
سوال یا دیدگاه؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *