RunOnUiThread内部循环效率

abc

如果我们考虑效率,那么进行跟踪跟踪就可以了吗?

new Runnable() {

        @Override
        public void run() {
            try {
                final Runnable uitask = new Runnable() {
                    public void run() {
                        //sth that modifies UI
                    }
                };

                for (...) {
                    context.runOnUiThread(uitask);
                    Thread.sleep(...);
                }
            } catch (Throwable t) {
            }
        }
    }

我最担心的是,runOnUi每次都可能创建一个新线程,这会很糟糕吗?我是对的还是像ThreadPool一样更聪明?

msh

好吧,runOnUiThread不会创建新线程,而是在现有UI线程上启动您的可运行对象。

但是你可以不用代码来做

 void onCreate(..) {
     ...
     mHandler = new Handler();
 }

 for (...) {
     mHandler.postDelayed(uitask, DELAY * i++);
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章