Android runOnUiThread和性能

时间:2016-01-07 21:28:41

标签: android multithreading textview android-runonuithread

我的Android应用程序是Open GL ES 2.0应用程序。对于一个特定场景,我在GL Surfaceview上覆盖了一些textView,以及一些OpenGL纹理四边形。

我需要我的一个textViews'flash' - 我的目标是Gingerbread,因此,我不能使用动画,所以我创建了一个方法来执行此操作:

public void flashText(){        
    if(myText.getVisibility()==View.VISIBLE)
        myText.setVisibility(View.GONE);
    else
        myText.setVisibility(View.VISIBLE);     
}

然后,从我的OpenGL线程中,我执行以下操作:

void updateLogic(
        if (System.currentTimeMillis()>(flashTimer+250)){

            flashTimer=System.currentTimeMillis();              

              activity.runOnUiThread(new Runnable() {
                  @Override
                  public void run() {
                      activity.flashText();
            }
        });
    }
}

上述方法(updateLogic)每秒调用60次。计时器设置为250毫秒,所以我每秒钟获得4次“闪烁”动画,或者每秒4次,通过runOnUiThread调用FlashText。

这个 工作,但是,它会影响我的openGL对象的动画,足以让它成为一个问题。

我的问题是,有更好的方法吗? (因为我使用的方法显然效率不高)。

0 个答案:

没有答案