我有一个导航抽屉,我想打开一个新的活动.导航抽屉和MainActitvity运行非常流畅,但是当我想开始一个新的活动时,ist需要很多时间和滞后
这是我的代码:
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);
}
}
我不知道如何解决这个问题,但真的很烦人
这是一个常见问题,与应用的性能无关,您可以使用 Handler
& Runnable
延迟新活动的启动(只需尝试一下延迟,可能是 100 或 200 毫秒),或者在OnDrawerClosed
中打开新的活动(例如,设置一些布尔值,即 Activity 需要在 onNavigationDrawerItemSelected
中启动)。
另请参阅此问题。
代码中没有任何内容表明启动新活动应该比平时花费更多的时间。尝试设置 StrictMode 以确保您没有在主 UI 线程上执行任何不应执行的操作。否则,添加一些分析代码(基本上是计时日志语句,或使用真正的探查器)以查看它在哪里花费时间。