Android 导航抽屉滞后

Android 导航抽屉滞后,android,android-studio,kotlin,navigation-drawer,lag,Android,Android Studio,Kotlin,Navigation Drawer,Lag,我刚开始学习android studio/kotlin,学完之后,每当我试图关闭或打开导航抽屉时,我感觉我的应用程序出现了延迟 这是我的代码: private var drawerLayout: DrawerLayout? = null; override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_m

我刚开始学习android studio/kotlin,学完之后,每当我试图关闭或打开导航抽屉时,我感觉我的应用程序出现了延迟

这是我的代码:

private var drawerLayout: DrawerLayout? = null;
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    
    drawerLayout = findViewById(R.id.nav_view)
    val navigationView = findViewById<NavigationView>(R.id.navigation_view)
    navigationView.setNavigationItemSelectedListener(this)
    supportFragmentManager.beginTransaction().replace(R.id.Fragment_container, HomeFragment())
    val toolbar = findViewById<Toolbar>(R.id.toolbar)

    val toggle = ActionBarDrawerToggle(
        this,
        drawerLayout,
        toolbar,
        R.string.navigation_draw_open,
        R.string.navigation_draw_close
    )
    drawerLayout?.addDrawerListener(toggle)
    toggle.syncState()
    if (savedInstanceState == null) {
      supportFragmentManager.beginTransaction().replace(R.id.Fragment_container, HomeFragment()).commit()
        navigationView.setCheckedItem(R.id.home)
    }
}
override fun onNavigationItemSelected(item: MenuItem): Boolean {
    when (item.itemId) {
        R.id.home -> supportFragmentManager.beginTransaction()
            .replace(R.id.Fragment_container, HomeFragment()).commit()
        R.id.thai -> supportFragmentManager.beginTransaction()
            .replace(R.id.Fragment_container, ThaiFragment()).commit()
        R.id.eng -> supportFragmentManager.beginTransaction()
            .replace(R.id.Fragment_container, EngFragment()).commit()
        R.id.dessert -> supportFragmentManager.beginTransaction()
            .replace(R.id.Fragment_container, DessertFragment()).commit()
        R.id.random -> supportFragmentManager.beginTransaction()
            .replace(R.id.Fragment_container, RandomFragment()).commit()
    }
    drawerLayout!!.closeDrawer(GravityCompat.START)
    return true
}
override fun onBackPressed() {
    if (drawerLayout!!.isDrawerOpen(GravityCompat.START)) {
        drawerLayout!!.closeDrawer(GravityCompat.START)
    } else {
        super.onBackPressed()
    }
}
专用var抽屉布局:抽屉布局?=无效的
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
抽屉布局=findViewById(R.id.nav_视图)
val navigationView=findViewById(R.id.navigation\u视图)
navigationView.setNavigationItemSelectedListener(此)
supportFragmentManager.beginTransaction().replace(R.id.Fragment\u容器,HomeFragment())
val toolbar=findViewById(R.id.toolbar)
val toggle=ActionBarDrawerToggle(
这
抽屉布局,
工具栏,
R.string.navigation\u draw\u open,
R.string.navigation\u draw\u close
)
抽屉布局?.addDroperListener(切换)
toggle.syncState()
如果(savedInstanceState==null){
supportFragmentManager.beginTransaction().replace(R.id.Fragment\u容器,HomeFragment()).commit()
navigationView.setCheckedItem(R.id.home)
}
}
覆盖onNavigationItemSelected(项:MenuItem):布尔值{
时间(item.itemId){
R.id.home->supportFragmentManager.beginTransaction()
.replace(R.id.Fragment_容器,HomeFragment()).commit()
R.id.thai->supportFragmentManager.beginTransaction()
.replace(R.id.Fragment_容器,thaiffragment()).commit()
R.id.eng->supportFragmentManager.beginTransaction()
.replace(R.id.Fragment_容器,EngFragment()).commit()
R.id.dest->supportFragmentManager.beginTransaction()
.replace(R.id.Fragment_容器,DessertFragment()).commit()
R.id.random->supportFragmentManager.beginTransaction()
.replace(R.id.Fragment_容器,RandomFragment()).commit()
}
抽屉布局!!.closeDrawer(重力compat.START)
返回真值
}
重写函数onBackPressed(){
if(抽屉布局!!.isDrawerOpen(重力compat.START)){
抽屉布局!!.closeDrawer(重力compat.START)
}否则{
super.onBackPressed()
}
}
不管怎样,我可以改进这个吗