写在20110912:中秋节,onSaveInstanceState

本文详细介绍了onSaveInstanceState方法的调用时机,包括用户按下HOME键、屏幕方向改变等情形,并阐述了该方法的重要作用——确保应用程序能够在未得到明确许可的情况下被系统销毁时,有机会保存其非永久性数据。

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

onSaveInstanceState()什么时候会被执行呢?
1.当用户按下HOME键:系统不知道你按下HOME键后要运行多少其他的程序,自然也不知道activityA是否会被销毁,故系统会调用onSaveInstanceState(),让用户有机会保存某些非永久性的数据。
2.长按HOME键:此时会弹出历史应用,选择运行其他的程序时。
3.按下电源键(解锁)时。
4.从ActivityA中启动一个新的Activity时。
5.屏幕方向切换时:在屏幕切换之前,系统会销毁ActivityA,在屏幕切换之后系统又会自动的创建ActivityA,所以onSaveInstanceState一定会被执行。
总而言之,onSaveInstanceState的调用遵循一个重要原则:当系统“未经许可”时销毁了你的Activity,则onSaveInstanceState会被系统调用,这是系统的责任,因为它必须提供一个机会让你保存你的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值