我有一个由RecyclerView
组成的片段,而不是其他内容。通常它工作正常,但是当我打开TalkBack时,内存泄漏会导致应用程序崩溃。我已经将问题追溯到RecyclerView
被重复布局(每秒多次)的事实 - 事实上,根据RecyclerView
layout()
上的堆栈跟踪方法,它是正在布局的整个视图层次结构。什么可能导致这种情况发生只有当TalkBack打开,并且只在我的应用程序的一个屏幕上?我有其他片段使用完全相同的布局xml,没有这样的问题。
我用来尝试诊断原因的堆栈跟踪表明正在调用ViewRootImpl
performLayout
方法,这就是为什么我声明它是我的整个视图层次结构。什么可能导致ViewRoot
重新布局?