活动的onResume()会永远运行吗?

时间:2015-06-29 06:19:44

标签: android android-activity lifecycle onresume

在android中,假设我第一次运行我的应用程序,我希望有一段代码(理论上)永远运行,假设活动始终可见,我应该执行以下操作:

public void onResume(){
// Block of code
}

public void onResume(){
while(true){
// Block of code
}
}

另一种询问方式是: 在第一种情况下,我可以假设一旦该代码块完成运行,Android将再次重新运行它吗?我试着为此寻找答案,但无法找到。

感谢。

3 个答案:

答案 0 :(得分:3)

onResume在活动可见时运行,如果你在恢复时写入并且无限循环,应用程序将停止响应。如果你必须永远运行一些代码,你应该把它作为一项服务。无论你需要做什么,无限循环都不是正确的方法。

答案 1 :(得分:0)

不,你必须选择第二种方法,因为在你的第一种方法中,当状态转换时,你的代码块会被调用一次,即状态从任何状态(如onPause)变为onResume,你的代码块执行一次。但之后如果没有状态转换,那么你的代码就不会被调用。

答案 2 :(得分:0)

只要您的活动被带到前面,就会调用onResume()。此代码只会被调用一次。如果要重新运行代码,则需要使用第二种方法。