Android_活动周期

Android_活动周期

1.Test项目
创建两个活动normal和dialog
mainActivity中添加两个Button,点击触发跳转两个不同的页面,normal和dialog,在mainActivity中重写生命周期的所有方法,每个方法下面输出Log

2.报错:You need to use a Theme.AppCompat theme (or descendant) with this activity
找到最有用的一句话,说明所使用的 theme 和当前 Activity 不匹配

AndroidManifest.xml 中 activity 配置如下:

<activity android:name=".Dialog"
            android:theme="@android:style/Theme.Dialog">
        </activity>

根据报错提示改为 AppCompat 主题即可:

<activity
2     android:name=".DialogActivity"
3     android:theme="@style/Theme.AppCompat.Dialog">
4 </activity>

3.执行结果
在这里插入图片描述(1)点击按钮跳转到normal页面,normal页面全面覆盖了MainActivity,所以系统调用了方法onPause()和onStop()
在这里插入图片描述(2)点击按钮跳转到dialog页面,首先返回到了MainActivity会首先调用的方法是onRestart,之后调用onStart(),然后调用onStop()方法
点击按钮之后,调用了onPause()方法,这是因为dialogActivity并没有完全遮挡MainActivity画面,所以没有调用onStop()方法
在这里插入图片描述按下Back键,只是调用了onResume()方法,再次按下back键,一次调用onPause(),onStop(),onDestroy()方法
在这里插入图片描述

个人总结的总体流程图如下:

onCreate()
|
onStart() < —— onRestart()

|
onResume()
|
onPause()
|
onStop()__________________|
|
onDestroy()
|

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值