Android Is Recyclerview最适合于不同的列表项视图

Android Is Recyclerview最适合于不同的列表项视图,android,listview,android-recyclerview,Android,Listview,Android Recyclerview,目前,我有一个列表视图,每行有不同的列表项视图(大多数情况下是不同的)。 我有6个不同的项目布局,我将在未来添加更多,我将只有5-15个列表项目,一些时间可能会更少,在其他情况下可能会很多 某些项目视图包含: 寻呼机 列表视图 图像视图 特克斯维尤 网格视图 旋转木马 网络视图 由于这是根据数据动态生成的,因此我面临以下问题: 缓慢滚动(有时) 列表项高度 演出 在这种情况下,RecyclerView是最好的解决方案吗?如果不查看您的代码来确定具体的问题,就很难解决出现此类性能问题的具体

目前,我有一个
列表视图
,每行有不同的列表项视图(大多数情况下是不同的)。 我有6个不同的项目布局,我将在未来添加更多,我将只有5-15个列表项目,一些时间可能会更少,在其他情况下可能会很多

某些项目视图包含:

  • 寻呼机
  • 列表视图
  • 图像视图
  • 特克斯维尤
  • 网格视图
  • 旋转木马
  • 网络视图
由于这是根据数据动态生成的,因此我面临以下问题:

  • 缓慢滚动(有时)
  • 列表项高度
  • 演出

在这种情况下,
RecyclerView
是最好的解决方案吗?

如果不查看您的代码来确定具体的问题,就很难解决出现此类性能问题的具体原因。例如,您是否正确地使用了范例?或者,当应该在后台线程上加载内容时,您是否在UI线程上不适当地加载了这些内容?Android有一个小部分是关于ListView的,你应该去看看。除此之外,根据你们到目前为止提到的……我认为你们的主要问题是设计

问题

  • 如果您的
    ViewPager
    使用的是
    FragmentPagerAdapter
    …那么肯定会造成大量开销和性能损失

  • ListView
    :永远不要将一个
    ListView
    放在另一个
    ListView
    中。这会引起各种各样的问题。Android不喜欢向同一方向滚动。即使这样做有效,也会导致一些重大性能问题

  • GridView
    :GridView也是如此。决不能将一个
    网格视图
    放在另一个
    列表视图
    中。即使这样做有效,也会导致一些重大性能问题

  • 如果您的
    ImageView
    正在加载一些大型图形,那么它应该位于后台线程上,而不是UI线程上。否则你的表现会很慢

  • 旋转木马-我不知道这是什么API,但如果它垂直滚动,那么它是不可能的

  • webview
    是一个非常重的对象。我可以肯定地看到这个家伙放慢了速度,特别是如果它加载了很多内容


  • 以@Joffrey所说的为基础。在用户界面的选择中有一些主要的问题。根据您在此
    列表中放置的内容,视图告诉我,您需要认真反思如何向用户显示您的内容。例如,尝试使用
    TableLayout
    GridLayout
    而不是
    GridView

    哇,你把所有的东西都放在列表的项目中了吗?@Joffrey Yea,我不能制作和xml(因为它是从web服务动态加载的)为此我需要一个适配器,首先我在很多地方尝试了它,所以我用Listview做了,但是现在我有了性能问题,你能告诉我最好的解决方法吗?谢谢,我更多的是评论将产生的UI类型,而不是性能方面。看起来不奇怪吗?你有截图吗(出于好奇)?如果您想要一个可滚动的项目列表,那么在IMO中,
    ListView
    是一个不错的选择,它有一个使用多种视图类型的设计良好的适配器。如果这会导致性能问题,则可能是回收管理不当。您的另一个选择是向
    线性布局
    动态添加元素,但如果您有15个项目,则性能可能会更差。如何在
    列表视图
    的项目中设置
    列表视图
    ?用户应该如何与之交互?