Activity生命周期+android测试类(2)

一.Activity生命周期

>什么是生命周期?
对象从创建到销毁的阶段,必须会执行的方法,这些方法就是生命周期的回调

* oncreate()  activity被创建的时候调用的方法
> ui界面的初始化 setContentView()

* onDestroy() activity被销毁的时候调用的方法
> 界面退出之前的扫尾操作,×××,退出前数据的保存。

* onStart() activity的界面用户可见
> 更新ui的操作,播放视频

* onStop() activity的界面用户不再可见
> 界面不可见,暂停视频播放

* onResume()
> 界面获取到了焦点,按钮可以相应点击事件

* onPause()
> 界面失去了焦点,按钮就不可以相应点击事件

* onRestart()
>activity被最小化了,并没有销毁,如果下次再去打开这个activity
>重新用户界面可见

###完整生命周期(entire lifetime)
onCreate-->onStart-->onResume-->onPause-->onStop-->onDestory

###可视生命周期(visible lifetime)
onStart-->onResume-->onPause-->onStop

###前台生命周期(foreground lifetime)
onResume-->onPause

*注:横竖屏切换的生命周期
>默认情况下 ,横竖屏切换, 销毁当前的activity,重新创建一个新的activity
横竖屏切换:ctrl+F11
在一些特殊的应用程序常见下,比如游戏,不希望横竖屏切换activity被销毁重新创建
需求:禁用掉横竖屏切换的生命周期
1. 横竖屏写死
        android:screenOrientation="landscape"
        android:screenOrientation="portrait"
2. 让系统的环境 不在去敏感横竖屏的切换。
         android:configChanges="orientation|screenSize|keyboardHidden"

二.写Android的测试类

1.测试类继承AndroidTestCase类,里面写测试的方法。 

2.要在Mainfest设置权限和倒入函数库

(1)<!-- 在根节点 manifest节点下放置  指令集 instrumentation -->
    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:label="Tests for My App"
        android:targetPackage="写测试的包" />

(2)<!--  使用的函数库  application节点的下面-->
     <uses-library android:name="android.test.runner" />