我们应该在onStart,OnResume,OnPause上做些什么

时间:2016-09-27 06:21:47

标签: android

您好我已经在许多主题上删除了活动生命周期,但我无法在活动的onStartonResumeonPause方法中找到我们应该做的事情。

3 个答案:

答案 0 :(得分:0)

onStart()方法中,您可以添加在活动开始时相关的代码。

比方说,你有一个应用程序可以读取设备电池的温度。您需要具有初始值,以便向用户显示。 因此,在onStart()中,您需要添加前面的代码并获取您需要的信息,并在您的计时器(例如)进入之前为用户显示该信息并在一分钟后读取信息。 / p>

在应用程序进入后台之前调用onPause()方法。

为了保持我们的示例,在onPause()方法中,您可以将最后记录的温度保存到设备中;因此,您可以在用户下次打开应用时显示比较结果。

当应用程序返回到前台时调用onResume()方法(即:您已经转到任务管理器,并点击了应用程序再次显示它)。

再次,坚持下去的例子;在onResume()方法中,您将继续,读取已保存的数据,加载新数据,并在应用程序中显示两者的比较。 然后,当您的计时器下一个滴答时,将只显示新数据。

答案 1 :(得分:0)

你的问题有点模糊,所以答案可能不是特定的......

我想说在相应的活动生命周期方法中我们应该做的事情没有严格的“规则”。

事实上,你在那里什么都不做(如果你决定超越那些,那就确保你调用super方法)。即您的自定义活动甚至可能不会覆盖这些方法 - 它可以正常工作。

onStartonResumeonPause方法只是提示您有关活动生命周期的变化,因此您可以做出相应的反应,即在适当的时间针对您的活动操作启动/停止

例如,当调用onResume时,意味着活动对用户完全可见,因此您可能想要启动一些动画(如果需要)

同样,您没有义务在其中放置任何代码。

答案 2 :(得分:0)

通常,大多数操作都是在oncreate和onresume中执行的。 但是,有关您的信息,请告诉我们,

Onstart-在Oncreate之后调用,一旦活动对用户可见,如果您想在可见性在Oncreate中执行之前执行某些操作,因为大多数代码应该在用户查看活动之前运行。

OnResume-在Onresume上要小心谨慎,只要你将活动带到前台,它就会被调用。

Onpause - 在Onresume之前调用,代码不会在这里执行,因此严格避免在Onpause中添加代码而是在Onresume中添加。

希望它有所帮助,