Closed Wudelin closed 4 years ago
你的项目是Titlebar内存泄漏哦!我替换成你的NavHostFragment之后就正常了
这个titlebar泄漏 我想了很久还是没有解决,不知道你是否有解决方案
你在Fragment中设置ac的toolbar为mToolbar:
toolbar.run { //设置menu 关键代码 val appCompatActivity = activity as AppCompatActivity? appCompatActivity?.setSupportActionBar(this) initClose(showTitle) { hideSoftKeyboard(activity) Navigation.findNavController(it).navigateUp() } }
即activity持有Fragment中toolbar的引用,销毁Fragment时,由于Ac持有Frag的引用,导致Frag无法被回收,造成内存泄漏
解决:(Fragment销毁时,设置ac的toolbar为null) `
override fun onDestroyView() {
super.onDestroyView()
(activity as AppCompatActivity?)!!.setSupportActionBar(null)
}
`
刚试了一下,貌似是可以了,为你疯狂打call :smile::smile::smile:
收到,这几天在忙面试,没怎么有时间,后面有空会去修复掉