【发布时间】:2014-11-21 12:32:51
【问题描述】:
如果调用了一个已经在运行的函数,我如何在 Android 中取消/停止该函数,然后从头开始?
我的代码如下所示,基本上在我的应用程序中调用了一个给定的函数(Important();),而不是让该函数运行多次或阻止用户再次运行该函数(如果当前正在运行)。我想取消/停止当前正在运行的功能,然后重新开始?
我该怎么做?
代码:
public void Important() {
//Do lots of stuff
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Important();
}
@Override
protected void onResume() {
super.onResume();
Important();
}
我已经尝试过以下使用布尔值的方法。但如果已经运行,它只会阻止用户再次运行该功能? (这不是我想要做的)
我想要,当函数再次被调用时。正在运行的功能已停止。然后新鲜执行
代码:
Boolean runningCode = false;
public void Important() {
if (runningCode== false) {
runningCode = true;
//Do lots of stuff
runningCode = false;
}
F.Y.I
Important() 在我的整个应用程序中被多次调用(除了上述),有时在 Important() 仍在运行时。因此需要解决我的问题:-)
重置变量和格式化页面等任务在 Important(); 中执行,它不在单独的线程上运行。这些是需要在主 UI 线程上完成的任务
【问题讨论】:
标签: java android performance android-intent android-activity