在onCreate 中检查savedInstanceState 是否为null 是判断设备是否旋转的好方法吗?
我想在 Activity 的 onCreate() 方法中执行一些操作,前提是它们是第一次构造的,而不是在设备旋转时(配置更改时)。目前我正在检查传递给 onCreate() 的 savingInstanceState 参数。如果为空,则这是 Activity 第一次启动,否则仅进行轮换。
这是一个好的、可靠的方式来讲述这一点吗?有替代方案吗?
There's stuff I'd like to do in my Activities' onCreate() method only if they're constructed the first time, not when the device was rotated (on configuration changes). Currently I'm checking the savedInstanceState parameter passed into onCreate() for this. If it's null, then it's the first time the Activity starts, else there was only a rotation.
Is this a good and reliable way to tell this? Are there alternatives to this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不知道有更好的解决方案。 Romain Guy 描述了相同的方法< /a> (检查 savingInstance 状态或您传递给 null 的其他对象)。
当我懒惰这样做时,我只是禁用在方向更改时重新创建活动。如如何在 Android 上禁用方向更改?中所述
I don't know of a better solution. Romain Guy describes the same approach (checking savedInstance state or other objects you pass for null).
When I am lazy to do this, I just disable recreating the Activity on orientation change. As described at How do I disable orientation change on Android?