Android studio案例——测试activity生命周期

目录

一、认识activity

1、认识activity的生命周期

activity生命周期的7个方法和四个状态:

  • 当它在屏幕前台时(位于当前任务堆栈的顶部),此时它处于可见并和用户交互的激活状态,叫做活动状态或者运行状态
  • 当activity被另外一个透明activity或dialog样式的activity覆盖。此时状态叫做暂停状态(paused)。它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它依然可见,但它已经失去了焦点数故不可与用户交互;
  • 如果一个activity被另外的activity完全覆盖掉,叫做停止状态(stoped),它依然保持所有状态和成员信息。但是它不可再见,所以它的窗口被隐藏,当系统内存需要被用在其它地方的时候,stoped的activity将被强行终止掉;
  • activity被系统杀死回收或者没有被启动时处于断开状态(killed),(如果一个activity是paused)或者stoped状态,系统可以将该activity从内存中删除,Android系统采用两种方式进行删除,要么要求该activity结束,要么直接终止它的进程。当该activity在次显示给用户时,它必须重新开始和重置前面的状态)。

activity的状态转换时会选择性的调用以下方法:

void onCreat(Bundle saveIntanceState)
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
void onDestroy()

重写activity中的几个方法:

public class Activity extends ApplicationContext{
    
    
     void onCreat(Bundle saveIntanceState);
     void onStart();
     void onRestart();
     void onResume();
     void onPause();
     void onStop();
     void onDestroy();
     }

2、一个activity的生命周期流程

四个状态

  • 运行状态(running)
  • 暂停状态(paused)
  • 停止状态(stoped)
  • 断开状态(killed)

七个方法:
1、onCreat
2、onStart
3、onRestart
4、onResume
5、onPause
6、onStop
7、onDestroy

流程图
在这里插入图片描述

二、测试生命周期

1、帮助文档的下载

在SDK manager里面找到documentation for Android SDK(描述略,看图操作)
在这里插入图片描述
在这里插入图片描述
没有发现,通过百度知道Android studio新版本跟以前的版本不一样了
在这里插入图片描述

2、在activity跳转过程的生命周期

  1. 通过启动另一个activity来查看两个activity的生命周期
  2. Bactivity以对话框的形式存在
 <activity android:name=".demoActivity"
            android:theme="@style/Base.Theme.Appcompat.Diolog">
        </activity>

在这里插入图片描述

3、横竖屏切换的生命周期

在横竖屏切换时候,activity的生命周期如下;activity被销毁后重新创建的
在这里插入图片描述

需求1
默认情况下(没有陪置android:configChanges属性);

  • 竖屏切横屏,销毁当前activity之后,创建一个新的activity实例;
  • 横屏切竖屏,销毁当前activity之后,创建一个新的activity实例,新的activity实例很快就被销毁,接着又会一个新的activity实例,如果只希望创建一个实例可配置
android:configChangs="orientation"

为防止这种情况的发现,需要在activity的配置xml文件中加属性
在这里插入图片描述
在这里插入图片描述

android:configChanges="keyboardHidden|orientation|screenSize"

需求2
默认情况下(没有陪置android:configChanges属性);

  • 竖屏切横屏,销毁当前activity之后创建一个新的activity实例
  • 横屏切竖屏,销毁当前activity之后,创建一个新的activity实例,新的activity实例很快就会被销毁,接着又会创建一个新activity实例,如果只希望创建一个实例,可以配置
android:configChangs="orientation"

android:screenOrientation="landspace"//横向模式
android:screenOrientation="portrait"//竖向模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、参考资料

横竖屏切换时候 activity 的生命周期.

猜你喜欢

转载自blog.csdn.net/QWERTYzxw/article/details/115170509
今日推荐