Android 为什么在第一次启动活动时调用OnResume

Android 为什么在第一次启动活动时调用OnResume,android,android-lifecycle,Android,Android Lifecycle,我有一个activity,当它第一次加载OnCreate时,我也需要在OnResume时运行它,问题是它第一次进入活动时,它会同时通过OnCreate和OnResume,如果我导航到另一个活动,然后使用后退箭头返回到只在Resume时触发的活动,这很好,但当它在第一次运行活动时通过它时,它会导致它调用同一事物两次。如果可能的话,我如何避免第一次不调用OnResume()的活动?android就是这样做的 避免此问题的一种方法是,只需将逻辑移到onResume() 如果可能的话,如何避免第一次不调

我有一个activity,当它第一次加载OnCreate时,我也需要在OnResume时运行它,问题是它第一次进入活动时,它会同时通过OnCreate和OnResume,如果我导航到另一个活动,然后使用后退箭头返回到只在Resume时触发的活动,这很好,但当它在第一次运行活动时通过它时,它会导致它调用同一事物两次。如果可能的话,我如何避免第一次不调用OnResume()的活动?

android就是这样做的

避免此问题的一种方法是,只需将逻辑移到
onResume()

如果可能的话,如何避免第一次不调用OnResume()的活动

这是不可能的。它是专门设计的,这样你就不会做两次

当它第一次加载时,它会在OnCreate上执行一些我在OnResume时也需要运行的操作

所有这些“东西”移动到
onResume()
。这样,无论活动是第一次出现在屏幕上还是返回屏幕,工作都会完成


您可能希望花一些时间进行回顾。

这是由于Android活动生命周期的性质造成的。请阅读更多信息


干杯

如果您仍想尝试其他解决方案,以避免在调用
onCreate
时第一次运行在
onResume
中编写的代码。您可以在
onCreate
onResume
中添加
boolean
值并将其赋值为真值,检查其是否为真,然后跳过代码,否则请运行您在
onRusume
上编写的代码

非常好,android新手,非常感谢您提供的详细信息。非常感谢。