我想创建一个Android应用程序,每10分钟重复运行某些进程。据我发现,与定时器或调度相比,Handlers
更可靠。因此,我打算使用下面给出的代码来开发我的应用程序。
我有点担心下面的代码每次启动应用程序都会创建单独的Handler
,并使它们并行运行,可能是因为我在onCreate
中创建了Handler
。
那么,保持仅有一个Handler
在后台运行的最佳方法是什么?
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
handler = new Handler(); // new handler
handler.postDelayed(runnable, 1000*60*10); // 10 mins int.
setContentView(R.layout.activity_pro__sms);
}
private Runnable runnable = new Runnable() {
@Override
public void run() {
/* my set of codes for repeated work */
foobar();
handler.postDelayed(this, 1000*60*10); // reschedule the handler
}
};
Handler
可能不是正确的操作方式。 - MH.