线程imageView更新速度加快

时间:2014-12-06 22:00:49

标签: java android multithreading

我有一个用于旋转imageview的线程,因为其他事情发生在后台。它非常适合旋转,但我注意到当我打开和关闭它时(基于spinningMain变量)按钮开始旋转得越来越快。 我不确定这是什么原因因为线程被告知每100毫秒睡一觉。 如果它有帮助我也有另一个线程(可运行的线程)运行中间的主代码,我想知道它是否破坏了线程?

imageView更新主题是:

            final Thread t = new Thread() {

                @Override
                public void run() {

                    try {
                        while (!isInterrupted()) {
                            Thread.sleep(100);
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    if (spinningMain == true) {
                                        // update TextView here!
                                        if (spinningAngleMain >= 360) {
                                            spinningAngleMain = 0;
                                        } else {
                                            spinningAngleMain += 5;
                                        }
                                        imageButton.setRotation(spinningAngleMain);
                                    }
                                }
                            });
                        }
                    } catch (InterruptedException e) {
                    }
                }
            };
            t.start();

第二个线程几乎按如下方式制作

        new Thread(new Runnable() {
            @Override
            public void run() {
                if (searchStateButton == true) {
            //do all my stuff
            }

我的布尔变量设置为volatile,如果这也有帮助。

0 个答案:

没有答案