onStart()真正做了什么? - Android

时间:2014-01-23 07:44:32

标签: android android-lifecycle

我一直想知道onStart()函数在android生命周期中的确切作用。网上的大部分资源只是说 - 它就在您的活动在屏幕上显示之前调用。

但到目前为止我所做的应用程序我从未使用过onStart()。我在onCreate()本身做了所有的初始化。

android生命周期中的所有其他状态都有一些或其他意义,但onStart()的作用不是很清楚。

在onStart()中是否有任何特定的事情要做? onStart()在生命周期中确实是必需的,因为所有初始化都可以在onCreate()中完成,并且在活动变得可见之前也会调用它。

任何人都可以帮助我清楚地了解onStart()。 在此先感谢:)

3 个答案:

答案 0 :(得分:6)

当活动从停止状态恢复时,将调用

onStart()。例如,如果您有活动A并从中启动活动B,则活动A将暂停(onPause())然后停止(onStop())并移至后台堆栈。在此之后,如果您按回到活动B,B将暂停(onPause()),停止(onStop())并销毁(onDestroy()),活动A将从后面恢复堆栈,已启动(onStart())并已恢复(onResume())。如您所见,系统不会再次为onCreate()调用A.

如何使用onStart()?例如,您应该在onStop()中取消注册GPS,传感器等的侦听器,然后再次在onStart()中注册。如果您在onCreate()注册并在onDestroy()取消注册,那么GPS服务将始终有效并且会耗尽电量。

答案 1 :(得分:0)

当活动对用户可见时调用。

如果活动到达前台,则按onResume(),如果隐藏,则按onStop()。

更多: http://developer.android.com/reference/android/app/Activity.html

答案 2 :(得分:0)

如果我想用户onStart,我个人会做什么,我将在onStart方法中分配我的听众(OnclickListener,...等)。

我认为真的没用,因为你可以在onCreate中做你想做的每件事。

希望有所帮助