目前,我有一个ListView
,每行有不同的列表项视图(大多数情况不同)。
我有6个不同的项目布局,我将来会添加更多,我将只有5-15个列表项,有些时间可能更少,在其他情况下可能很多。
某些项目视图包含:
由于这是动态生成取决于数据,我面临以下问题:
在这种情况下,RecyclerView
是最佳解决方案吗?
答案 0 :(得分:2)
如果没有看到您的代码来识别特定问题,那么很难解决您遇到此类性能问题的具体原因。例如,您是否正确使用ViewHolder范例?或者,当你应该在后台线程上加载时,你是否在UI线程上不适当地加载东西? Android有一小段讨论scrolling smoothly和你应该检查的ListView。除此之外,基于你到目前为止提到的内容......我认为你的主要问题是设计。
<强>问题强>
如果您的ViewPager
正在使用FragmentPagerAdapter
...那么这肯定会导致大量的开销和性能下降。
ListView
:您永远不应该将ListView
放在另一个ListView
中。这将导致各种各样的问题。 Android不喜欢滚动相同方向的embedding two scrollable widgets。即使这样可行,也会导致一些主要的性能问题。
GridView
:与GridView
相同。您永远不应该将GridView
放在另一个ListView
中。即使这样可行,也会导致一些主要的性能问题。
如果你ImageView
正在加载一些大型图形,它应该在后台线程而不是UI线程上。否则你会得到一些缓慢的表现
轮播 - 我不知道这是什么API,但如果它垂直滚动,那么它就不行了。
WebViews
是一个非常重的物体。我绝对可以看到这个人减慢了速度,特别是如果它加载了很多内容。
要建立@Joffrey所说的话。您选择UI时存在一些主要问题。根据您在此处放置的内容ListView
告诉我,您需要认真重新考虑如何向用户显示您的内容。例如,尝试使用TableLayout
或GridLayout
代替GridView
。