Android Activity在启动时滞后

时间:2014-11-17 18:49:52

标签: android performance

我有一个导航抽屉,我想打开一个新的Activtiy。导航抽屉和MainAcitvity运行非常顺利但是当我想开始一个新的活动时需要花费很多时间并且滞后

这是我的代码:

public void onNavigationDrawerItemSelected(int position) {
    FragmentManager fragmentManager = getFragmentManager();
    fragmentManager.beginTransaction()
            .replace(R.id.container, FirstFragment.newInstance(position + 1))
            .commit();

    if(position==5)
    {       Intent i=new Intent(MainActivity.this,SettingsActivity.class);
            startActivity(i);
            mTitle = getString(R.string.title_section1);
    }

}

我不知道如何解决这个问题但是真的很烦人

2 个答案:

答案 0 :(得分:1)

这是一个常见问题,与您的应用的效果无关,您可以使用Handler&延迟开始新的活动。 Runnable(只是稍微试验延迟,可能是100或200毫秒)或在OnDrawerClosed中打开新的活动(例如设置一些布尔值,需要在onNavigationDrawerItemSelected中启动活动) 。

另见this问题。

答案 1 :(得分:0)

您的代码中没有任何内容表明启动新活动应该比平常花费更多时间。尝试设置StrictMode以确保您不会在主UI空间中执行任何操作。否则添加一些性能分析代码(基本上是时间日志语句,或者使用真正的分析器)来查看它花费时间的位置。