在android中,假设我第一次运行应用程序时,我希望有一块代码(理论上)永远运行,假设活动始终可见,我应该只做以下操作吗:
public void onResume(){
// Block of code
}
或
public void onResume(){
while(true){
// Block of code
}
}
另一种提问方式是:在第一种情况下,我能假设一旦该代码块完成运行,Android将再次运行它吗?我试着寻找答案,但没有找到。
谢谢。
onResume
在活动可见时运行,如果在resume中写入无限循环,则应用程序将停止响应。如果你必须永远运行一些代码,你应该把它作为一项服务来做。无论你要做什么,无限循环都不是正确的方法。
否,您必须选择第二种方法,因为在第一种方法中,当状态转换时,您的代码块将被调用一次,即状态从任何状态(如onPause)更改为onResume,您的码块执行一次。但在那之后,如果没有状态转换,那么您的代码将不会被调用。
onResume()在您的活动被放在最前面时被调用。此代码将只调用一次。如果你想重新运行你的代码,你需要使用第二种方法。