Android开发之路——四大核心组件1 Activity(1)生命周期

来源:互联网 发布:淘宝客返利api申请 编辑:程序博客网 时间:2024/06/05 04:03

  今天我们来一起学习一下关于Android四大核心组件之一的Activity,从字面上理解就是活动的意思。没错,它就是用来和用户互动用的,通常一个Activity就相当于一个新的屏幕,你可以通过在其上面加一些组件,来实现一些功能。当然也可以监听用户的事件并作出响应。

学习Activity最重要的就是其四种状态和七个生命周期:

先说说四种状态:

1.Activity/Running  :当一个新的Activity入栈时,它会位于屏幕的最前端,在内存中也是栈顶的位置,此时它处于可以处理事件、监听用户事件的激活状态;

2.Pasued :当一个Activity失去焦点,一个新的非全屏的Activity 或者一个透明的Activity 被放置在栈顶。但原Activity与窗口管理器依然保持着联系,Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在内存空间极端缺乏的情况下会被关闭。由于失去了焦点,故不能与用户进行互动;

3.Stoped :当一个Activity被一个Activity完全覆盖时,进入”停止状态“。但它保持着所有通信和成员信息,当内存需要被用到其他地方时,会被强行关闭;

4.Killed :如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接终止它的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。

也许看了上面的你觉得有些情况还是不清楚,没问题,那么我们就来看一下它的七个生命周期:

其中onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy(),onRestart()就是七个生命周期。

OK!简单的介绍了一下Activity的状态和生命周期,要是让我第一次看这个,我肯定看不懂,所以我们进入实验环节,来直观的感受一下。

1.首先,我们新建一个Project,命名为Activity,其他均选择默认。

2.然后,我们进入MyActivity.java,这是新建的Project默认的主类的名字,我们在其中新写入七个方法。

 protected void onStart() {        super.onStart();        System.out.print("onStart");    }    @Override    protected void onResume() {        super.onResume();        System.out.print("onResume");    }    @Override    protected void onPause() {        super.onPause();        System.out.print("onPanuse");    }    @Override    protected void onStop() {        super.onStop();        System.out.print("onStop");    }    @Override    protected void onDestroy() {        super.onDestroy();        System.out.print("onDestroy");    }    @Override    protected void onRestart() {        super.onRestart();        System.out.print("onRestrt");    }
有的朋友会说”这些方法一个一个打不是很累吗?“那你肯定是没有用ADT Bundle或者Android Studio来开发安卓,你只要打一个on它就会自动的跳出几个方法供你选择,十分方便。

OK! 言归正传,写入了这几个方法之后,我们就可以编译运行一下我们的Project了,你可以选择真机调试,也可以选择使用编译软件自带的AVD,不知道如何使用的,可以私信我,或者上百度,我也会在以后的博文中专门讲一下。

3.编译运行第一个简单的Android程序。

下面我来截图演示一下:



我们可以看到,首先执行的事onStart方法,然后紧接着就执行了onResume方法。然后我们点击AVD或者真机的Home键,



我们可以看到,执行了onPasue方法,这意味着这个Activity进入了”暂停状态“。此时程序在后台保持与窗口系统的联系,并保留所有的成员信息。然后我们长按Home键,”重新“启动Activity。



可以看到,这里出现之前没有出现的onRestart方法,这个onRestart方法是从onPasue过渡过来的。然后回到了onStart方法,然后再是onResume方法。因为onStop方法需要有另一个应用程序中间插入,比较困难,所以这里就不演示了,最后我们退出程序。



可以看到,最后实现看onDestroy方法,然后程序就成功退出了。

好!你也许觉得今天讲的很没有内容,当时这确实最最重要的,一砖一瓦才能盖起一座大厦。以后我也会不定期推出关于Android开发的博文,我也是在学习,就让我们一起进步!

0 0
原创粉丝点击