创建无限循环android的最佳方法

时间:2013-12-29 02:09:19

标签: android loops for-loop android-asynctask while-loop

我想知道在Android编程中创建无限循环的最佳方法是什么,同时考虑到性能? (类似于(;;),AsyncTask或while(true)......)。欢呼声。

1 个答案:

答案 0 :(得分:3)

如果您使用无限期whilefor循环,则会大大降低应用的性能,冻结用户界面,如果您执行任务,一段时间后会出现application not responding错误UI线程本身。

相反,如果您想在某个时间间隔内连续执行某项任务,请考虑使用Timer

TimerTask timer= new TimerTask(){

        @Override
        public void run() {
           //Do your task here

            runOnUiThread(new Runnable() {

                @Override
                public void run() {

                    //Task which involves manipulating UI
                }
            });
        }

然后您可以固定价格致电Timer

t.scheduleAtFixedRate(timer , 0 , 5000);

因此,上面的代码会为每个TimerTask调用5 seconds(5000 ms)。由于它在单独的线程上运行,因此性能没有问题。

有关详细信息,请参阅官方文档http://developer.android.com/reference/java/util/Timer.html