将某项任务发送到后台的最快最轻的方法是什么?

时间:2012-05-18 16:36:43

标签: android android-asynctask handler

在后台线程中执行某项任务的内存消耗和最快(在代码行和执行时间方面)的方式是什么?

我需要向后台线程发送许多简单的任务,显然我不会使用AsyncTask类。 handler我正在寻找什么,或者有更快的方式?

    final Handler handler = new Handler();
    final Runnable runnable = new Runnable() {
        @Override
        public void run() {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            handler.post(new Runnable() {
                @Override
                public void run() {
                    infoMsg.setVisibility(View.INVISIBLE);
                }
            });
        }
    };
    new Thread(runnable).start();

2 个答案:

答案 0 :(得分:1)

处理程序通常用于UI线程,以便推迟将来要完成的事情。 在你的例子中,这个解决方案将是完美的。

当您不关心何时以及应该执行的任务的顺序时,使用

asynctask。 asynctasks不应该用于太长时间的操作(比如一直保持活着直到最终用户停止它的连接)。你不能假设不止一个asynctask是活跃的(但可以假设一个)。

对于任何其他用法,我只是使用一个线程,但主要是处理程序和asynctask就足够了。

答案 1 :(得分:0)

看起来处理程序是写这篇文章的最快方式。如果出现更快的方法,我将更改此问题或将其他帖子标记为答案。