我想使用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();
}
感谢阅读!
答案 0 :(得分:0)
让它在不同的线程上执行但在UI线程中更新它将无法完全解决滞后问题,因为它仍然在主线程中执行。
您可以使用SurfaceView更新后台线程上的所有UI,也可以完全使其成为正确处理动画的自定义视图。