在android studio中与动画,处理程序,线程滞后

时间:2017-06-11 02:20:43

标签: android multithreading

我想使用slidingPanel活动制作自定义菜单栏。 但是当我开始制作动画时,它有些滞后。

我搜索并发现有UI线程并建议使用 线程和处理程序。我重写了代码,但是当我活动时仍然存在滞后 低于功能。

有什么不对吗?

public void animHandler(){
    final Handler mHandler = new Handler();
    Thread t = new Thread(new Runnable() {
        @Override
        public void run() {
            mHandler.post(new Runnable() {
                @Override
                public void run() {
                    slidingPanel = (RelativeLayout) findViewById(R.id.slidingRel);
                    slidingPanel.startAnimation(translateLeftAnim);
                    slidingPanel.setVisibility(View.VISIBLE);

                }
            });

        }
    });
    t.start();
}

感谢阅读!

1 个答案:

答案 0 :(得分:0)

让它在不同的线程上执行但在UI线程中更新它将无法完全解决滞后问题,因为它仍然在主线程中执行。

您可以使用SurfaceView更新后台线程上的所有UI,也可以完全使其成为正确处理动画的自定义视图。