1、Activity 生命周期

异常关闭,重新创建两个方法。

onSaveInstanceState(Bundle outState)

onRestoreInstanceState(Bundle savedInstanceState)

方法名称写的很明确。

注意点:

1、onSaveInstanceState 和 onPause 调用时机不分前后,但是会在 onStop之前;

2、onRestoreInstanceState 调用时机在 onStart 之后,但是我们可以在 onCreate中判断 Bundle是否为空。官方建议在onRestoryInstanceState中恢复;

3、Activity重启默认恢复数据如,文本框输入数据,ListView滚动位置等。可具体查看每个View的 onSaveInstanceState 和 onRestoryInstatnceState;

4、不想系统配置发生改变时,Activity被重新创建,可以在配置文件增加  configChanges 属性,多属性使用 "|"进行分割,常用的有 locale (系统语言改变)、orientation(横竖屏)、keyboardHidden(键盘可访问性)

配置后,当系统配置发生改变,不会重新创建Activity,而是走 onConfigurationChanged,其中 newConfig保存了当前系统属性。都是一些固定值。如比 横竖屏  1 和 2表示。

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
}

个人理解,keyboardHidden 指的是用户比如通过蓝牙连接了外部键盘。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值