从其他线程启动IntentService以优化性能

时间:2014-02-20 19:25:27

标签: android animation optimization android-fragments

我的应用程序有一个片段作为内容屏幕,当您单击该片段列表上的项目时,它将替换为其他片段。左侧有一个动画幻灯片,用于删除正在删除的片段,并从正在添加的新片段向右滑动动画。我正在使用Traceview来查看导致动画不顺畅的原因,并注意到startService()方法(对于IntentService)在很长一段时间内阻止了UI。

enter image description here 在这里我们可以看到startService()方法占用了近8.6%的CPU时间。在我的片段的onCreate()上调用该方法。 我的问题是:将startService()放在另一个线程中是否有任何问题? 我会做那样的事情:

new Thread(new Runnable()
{
    @Override
    public void run()
    {
        context.startService(i);
    }
}).start();

此外,是否有任何提示可以改善片段事务动画的平滑性?

0 个答案:

没有答案