问:Activity的onCreate会响应多次吗?
2021-01-06 本文已影响0人
超级绿茶
问:在Activity的生命周期中对onCreate方法描述正确的是:
A、只会响应一次
B、可以响应多次
3444658479ec3a77c182c2c5209f0d06.jpg.png
正确答案:B
这道题目很有迷惑性,主要是绝大部分的Android App都会强制固定屏幕的方向为垂直,所以在这种情况下Activity的onCreate方法的确只会响应一次,这样的好处是可以把很初始化的工作放在onCreate方法完成,久而久之就造成了这种迷惑性的错误。其它我们不强制屏幕方向的话,在每次转动屏幕时Activity都会先调用onSaveInstance再调用onCreate方法,这样多次转屏就能多次调用。但需要说明的是:onCreate虽被多次调用,但并不意味着我们在多次创建Activity。如果在onCreate里创建ViewModel的话,ViewModel只会在第一次响应onCreate时被创建,并不会随着onCreate被多次响应而多次创建。
欢迎加入QQ群聊:口袋里的安卓
或关注微信公众号:口袋里的安卓