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