android面试总结01 activity生命周期

本文详细介绍了Android中Activity的生命周期,包括onCreate、onStart、onResume等关键方法的作用及调用时机。此外,还讲解了如何使用onSaveInstanceState和onCreate方法来保存和恢复Activity的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面试经常会被问到的:

Q:能说一下Activity的生命周期吗?

Activity生命周期如下:

onCreat

onStart

onResume

onPause

onStop

onDestory

外加一个 onRestart

就像图示一样,当一个activity第一次启动时会调用的函数分别是

onCreat

onStart

onResume方法

此时activty会正常运行

当出现如图所示,屏幕弹出一个dialog遮住activity并且activity失去焦点时,但这是activity还显示一部分时,

会调用onPause,当dialog dismiss时activity又重新回到前台会调用onResume方法。


另外一种情况,即A activtiy跳转到另外一个B activity,第一个A activity被完全覆盖时会调用

onPause onStop方法,当从B activity返回时,如果此时A activity未被销毁(一般情况下不会被销毁),

会分别调用 onRestart  onStart  onResume方法。然后activity进入正常运行状态。


这大致就是面试中常回答activity生命周期调用方法。

下面再加一个onCreat(Bundle savedInstanceState)

savedInstanceState什么时候会用到呢 ?


例如当用户在上图搜索框中输入了“美女”,但这是用户清理内存将这个进程干掉了,我们希望用户进入这个activity界面保存着这个搜索框中的内容怎么做呢

这时候可以调用这个方法

@Override
protected void onSaveInstanceState(Bundle savedInstanceState)
{
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putString("keyText", searchEditText.getText().toString());
}


在onCreat方法中执行下列语句

if (savedInstanceState != null)
{
keyText = savedInstanceState.getString("keyText’");

                        searchEditText.setString(keyText);

}

即可。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值