Android 可运行的,处理程序,线程

Android 可运行的,处理程序,线程,android,Android,我正在制作一个秒表应用程序,我检查了代码 private void runtime(){ final Handler handler = new Handler(); handler.post(new Runnable() { @Override public void run() { final TextView timeView = (TextView) findViewByI

我正在制作一个秒表应用程序,我检查了代码

 private void runtime(){

        final Handler handler = new Handler();
        handler.post(new Runnable() {
            @Override
            public void run() {
                final TextView timeView = (TextView) findViewById(R.id.textView);
                int hours = sec/3600;
                int min = sec/60;
                int secs = sec%60;
                String time = String.format("%d:%02d:%02d",hours,min,secs);
                timeView.setText(time);
                if(running){
                    sec++;
                }
                handler.postDelayed(this,1000);
            }
        });
我对runnable、handler和thread一无所知,你能描述一下这些术语吗
以及为什么使用它们

请参考android文档,以获得清晰的概念

这里发生的事情是,您正在创建一个“处理程序”来运行“Runnable”中的代码,该代码包含一个
postDelayed()
方法,每1秒重复一次相同的代码,直到您取消该Runnable

通常,处理程序用于在“单个线程”中执行代码块,使用线程的消息队列执行的代码块是“可运行的”,可运行接口有一个保存代码的
run()
方法

postdayed()
方法是Handler类中的一种方法,我们使用它来调度消息或调度任何代码的执行,在这种情况下,每1秒运行一次上述代码


有关更多信息,请参阅此

请不要在此处提出类似问题。您可以查看此。