我应该使用哪个Handler或Thread?

时间:2016-07-13 15:52:57

标签: java android multithreading

我正在尝试开发简单的音频播放器,我发现处理程序和线程为Seekbar移动执行相同的功能:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Start();
        update();
    }

    private void update() {
        sk.setProgress(mp.getCurrentPosition());

        //hand.postDelayed(MainActivity.this,100);
        //new Thread(MainActivity.this).start();

    }


    @Override
    public void run() {
        update();
    }

注意我向MainActivity实施Runnable

1 个答案:

答案 0 :(得分:1)

处理程序和线程不会做同样的事情。

处理程序现在或在不久的将来处理Runnable(如果使用postDelayed)。它在创建它的线程上执行此操作。

线程是一个单独的执行线 - 它是一系列与其他线程同时发生的指令。一个线程是你如何在计算机上同时发生两件事。

虽然两者都将Runnable作为参数,但它们完全不同。哪一个适合你?如果您想在UI线程上在N秒内执行某些操作,例如更新UI,请使用Handler。如果要进行大量后台处理或网络请求,请使用线程。