我看了另一个线程堆栈溢出(src: onCreate()和onStart()之间的差异?)该线程将onStart()方法描述为"当活动对用户可见时调用"。然而,在相同的答案和oncreate方法的许多重写中,我看到setContentView在oncreate中调用。那样不会使屏幕可见吗?因此,在这种情况下(在onCreate中调用setContentView), onStart()是在屏幕对用户可见之后调用的,但在用户可以与它交互之前?
onStart()
的概率可以多次调用
onCreate()
:在活动第一次创建时调用。
onStart()
:当活动变得对用户可见时调用。
现在看看图表给出的onCreate()和onStart()之间的差异?职位。onStart()可以多次调用,以防进程没有被杀死(如果activity再次被调用)
因此,如果您将视图设置为onStart()
,则需要将视图初始化为onStart()
或更高版本(即onResume()
)。这将是一个重复的过程。一次又一次地初始化视图不是一个不好的做法吗?
onCreate called when activity is first created.
onStart called when activity is becoming visible to the user.
和
onResume called when activity will start interacting with the user.
onPause called when activity is not visible to the user.
onStop called when activity is no longer visible to the user.
onRestart called after your activity is stopped, prior to start.
onDestroy called before the activity is destroyed.
关于onCreate和onStart的区别,请参阅此链接