我的应用程序有一个片段作为内容屏幕,当您单击该片段列表上的项目时,它将替换为其他片段。左侧有一个动画幻灯片,用于删除正在删除的片段,并从正在添加的新片段向右滑动动画。我正在使用Traceview来查看导致动画不顺畅的原因,并注意到startService()方法(对于IntentService)在很长一段时间内阻止了UI。
在这里我们可以看到startService()方法占用了近8.6%的CPU时间。在我的片段的onCreate()上调用该方法。 我的问题是:将startService()放在另一个线程中是否有任何问题? 我会做那样的事情:
new Thread(new Runnable()
{
@Override
public void run()
{
context.startService(i);
}
}).start();
此外,是否有任何提示可以改善片段事务动画的平滑性?