您的位置:首页 > 移动开发 > Android开发

Xamarin.Android活动的生命周期

2015-01-29 16:31 363 查看

一、前言

用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没有丢失。可以看出app的“生命”是掌握在系统手上的,而不像Windows上开发的程序。

二、活动的生命周期

这里我们借助一张图帮助我们理解:



1     [Activity(Label = "Activity_Liftcycle", MainLauncher = true, Icon = "@drawable/icon")]
2     public class MainActivity : Activity
3     {
4         int count = 1;
5
6         private TextView tv;
7
8         protected override void OnCreate(Bundle bundle)
9         {
10             base.OnCreate(bundle);
11             SetContentView(Resource.Layout.Main);
12
13             //如果存在则恢复之前的状态
14             if (bundle != null)
15             {
16                 count = bundle.GetInt("_count");
17             }
18
19             tv = FindViewById<TextView>(Resource.Id.textView1);
20             tv.Text = count.ToString();
21             Button btn = FindViewById<Button>(Resource.Id.button1);
22             btn.Click += (e, s) =>
23             {
24                 count++;
25                 tv.Text = count.ToString();
26             };
27         }
28
29         protected override void OnSaveInstanceState(Bundle outState)
30         {
31             base.OnSaveInstanceState(outState);
32             //保存当前状态
33             outState.PutInt("_count", count);
34         }
35 }




我们接着点击add:



然后翻转:



还有一个OnRestoreInstanceState也可以用来恢复状态,只是它会在OnStart之后执行。意味着它是在所有初始化完成之后进行的,而该方法的参数与OnCreate中的参数是一致的,所以不是常用该方法来恢复状态。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: