带有 RecyclerView 的 DialogFragment 比带有 Recyclerview 的 Fragment 慢

Posted

技术标签:

【中文标题】带有 RecyclerView 的 DialogFragment 比带有 Recyclerview 的 Fragment 慢【英文标题】:DialogFragment with RecyclerView slower than Fragment with Recyclerview 【发布时间】:2016-05-14 19:07:15 【问题描述】:

我想知道为什么我的 DialogFragment(内部带有 RecyclerView)在调试设备上显示的时间比我启动具有相同布局的新 Fragment 时要长得多位于 DialogFragment 中。

我的List(用于适配器)与Objects越大,时差越大。

有什么建议吗?

【问题讨论】:

【参考方案1】:

我遇到了完全相同的问题 - 我在 dialogFragment 中嵌入了一个列表视图,每个 rowView 中都有嵌套的 imageViews / textviews。

我的怀疑是 dialogFragment 从未被设计为显示大型列表视图,并且回收器并未针对此用例进行优化。

我最终做的是通过一个明确的意图启动一个活动,并且性能问题似乎已经消失了,无论列表视图的大小是多少(我已经测试了 1-20 行,所以不是最广泛的测试...)加载时间大致相同。

我知道这并不能完全回答你的问题,但我想我会分享我的经验,因为我不得不处理同样的问题。

【讨论】:

感谢您分享您的想法!我通过在 Fragment 中嵌入一个水平 recyclerView 解决了这个问题 - 它显示了内容 -> 然后我不再需要使用 DialogFragment 了:) 同样的问题,:(我正在构建一个医疗管理系统应用程序,我正在打开一个DialogFragment并使用recyclerview查看产品。点击产品我们正在调用一些API.etc怎么能我修复了滞后或运行缓慢的应用程序。请提供任何建议。@Jimmy

以上是关于带有 RecyclerView 的 DialogFragment 比带有 Recyclerview 的 Fragment 慢的主要内容,如果未能解决你的问题,请参考以下文章

带有 RecyclerView 和折叠标题的 CoordinatorLayout

带有片段的 RecyclerView

带有水平溢出的Android垂直recyclerview

带有 ItemDecoration 的 RecyclerView 分隔线宽度

使用带有卡片的 RecyclerView

带有 RecyclerView 的 CoordinatorLayout:onScroll