android聊天应用程序-ListView与ScrollView

android聊天应用程序-ListView与ScrollView,android,listview,scrollview,Android,Listview,Scrollview,我正在构建一个聊天应用程序 在我的聊天信息视图中,我有一个活动,它呈现最后20条信息,并以编程方式将它们添加到滚动视图中 它实际上工作得很好,很快 完成后,我停下来思考,并意识到我可以使用ListView更轻松(也许更高效)地完成它 这是真的吗?我是否应该努力将视图更改为ListView?我认为,是的,由于ListView的属性,使用它更有效。您对滚动视图所做的操作与ListView具有相同的功能。我想你是在改造轮子。”这是一个很好的例子:)我之所以说是因为一个主要原因:ListView回收屏幕

我正在构建一个聊天应用程序

在我的聊天信息视图中,我有一个活动,它呈现最后20条信息,并以编程方式将它们添加到滚动视图中

它实际上工作得很好,很快

完成后,我停下来思考,并意识到我可以使用ListView更轻松(也许更高效)地完成它


这是真的吗?我是否应该努力将视图更改为ListView?

我认为,是的,由于ListView的属性,使用它更有效。您对滚动视图所做的操作与ListView具有相同的功能。我想你是在改造轮子。”这是一个很好的例子:)

我之所以说是因为一个主要原因:
ListView
回收屏幕上显示的视图,使其非常高效。因为它可以在更小的屏幕上保存6或7个ish视图,并且可以重用这些视图,所以它比20个视图占用内存的效率要高得多。至于更容易,这是有争议的。但绝对推荐ListView。ScrollView可能感觉很快,但您还需要考虑设备和其他应用程序的总体性能

我的应用程序中有一个聊天功能,我使用适配器将消息膨胀到列表视图中。下面是我的xml布局示例:

messages.xml

<LinearLayout
    <TextView </TextView>
    <ListView </ListView>
</LinearLayout>

您可以扫描android源代码,了解ListView是如何实现的

我想你会找到答案的


ics/framework/base/core/java/android/widget/ListView.java

请接受最佳答案。
<RelativeLayout>
      <LinearLayout>
      <LinearLayout> 
      <LinearLayout>

      <LinearLayout>
      <TextView></TextView>
  <TextView></TextView>
      </LinearLayout>

      <TextView></TextView>
      </LinearLayout>

      <ImageView></ImageView>
      </LinearLayout>
      </LinearLayout>
      <TextView></TextView>
      </RelativeLayout>