2017-02-27 5 views
3

Welches ist besser zum Anzeigen von Chat-Nachrichten zu verwenden? Soweit ich weiß, unterstützt RecyclerView mehr benutzerdefinierte Ansichtsrichtungen (und wird im Allgemeinen als leistungsmäßig überlegen angesehen), aber da der Chat von Natur aus listenartig ist, wäre es besser, ListView zu verwenden?RecyclerView vs ListView für eine Chat-Anwendung

Macht es für diesen Anwendungsfall einen großen Unterschied?

Danke!

+1

RecyclerView ist besser für Chat-Anwendung. –

+0

RecyclerView ist besser als ein ListView – Kushan

+0

Da das Chatprotokoll potenziell unbegrenzt ist, sollten Sie 'RecyclerView' besser für Speicher und Leistung verwenden. –

Antwort

4

RecyclerView als Listview Verbesserung geschrieben wurde, also ja, können Sie eine Liste mit Listview-Steuerelement erstellen, aber unter Verwendung von RecyclerView ist einfacher als es:

Reuses Zellen beim Scrollen - Es implementiert View Holder in der ListView-Adapter, aber es war eine optionale Sache, während in der RecycleView ist die Standard-Art des Schreibens Adapter.

Animiert allgemeine Listenaktionen - Animationen sind entkoppelt und an ItemAnimator delegiert.

RecyclerView ist leistungsstark, wenn Sie Ihre Liste anpassen oder bessere Animationen wünschen. Diese bequemen Methoden in ListView haben den Leuten viel Ärger bereitet, weshalb RecyclerView ihnen eine flexiblere Lösung bietet.

Die RecyclerView bietet seinen Entwicklern enorme Leistung auf Kosten der Erhöhung der Komplexität für die Entwickler. Es gibt bestimmte Dinge, die leicht in einem ListView erledigt werden können, die jetzt viel unnötigen Aufwand erfordern.

Ich denke, wenn ListView erfüllt erfüllt alle Use-Fälle, dann ist es nicht notwendig, es mit einem RecyclerView zu ersetzen.

0

Yup, Recyclerview ist eine gute Option.

+0

ja. Bitte hinzufügen etwas mehr –

3

Mit dem Aufkommen von Android Lollipop machte der RecyclerView seinen Weg offiziell. Der RecyclerView ist viel leistungsfähiger, flexibler und eine große Verbesserung gegenüber ListView. Ich werde versuchen, Ihnen einen detaillierten Einblick zu geben.

Vorteile

1) ViewHolder Muster

In einem Listview wurde empfohlen, das ViewHolder Muster zu verwenden, aber es war nie ein Zwang. Im Falle von RecyclerView ist dies obligatorisch mit der RecyclerView.ViewHolder-Klasse. Dies ist einer der Hauptunterschiede zwischen dem ListView und dem RecyclerView.

Es macht die Dinge ein wenig komplexer in RecyclerView, aber eine Menge Probleme, die wir in der ListView konfrontiert wurden, werden effizient gelöst.

2) Layout

Dies ist eine weitere massive Erweiterung des RecyclerView gebracht. In einer ListView ist der einzige verfügbare Ansichtstyp die vertikale ListView. Es gibt keine offizielle Möglichkeit, eine horizontale ListView zu implementieren.

nun eine RecyclerView verwenden, können wir eine

i) LinearLayoutManager haben -, die sowohl vertikale als auch horizontale Listen unterstützt,

ii) StaggeredLayoutManager - die Pinterest wie gestaffelten Listen unterstützt,

iii) GridLayoutManager - unterstützt die Anzeige von Gittern, wie sie in Galerie-Apps angezeigt werden.

Und das Beste ist, dass wir alle diese dynamisch tun können, wie wir wollen.

3) Artikel Animator

Listviews zur Unterstützung guter Animationen fehlen, aber die RecyclerView bringt eine ganz neue Dimension hinzu. Mit der RecyclerView.ItemAnimator-Klasse wird die Animation der Ansichten so einfach und intuitiv.

4) Artikel Dekoration

Bei Listviews, dynamisch Elemente Dekoration wie Ränder oder Teiler Zugabe war nie einfach. Aber im Falle von RecyclerView bietet die RecyclerView.ItemDecorator-Klasse den Entwicklern eine enorme Kontrolle, macht die Dinge jedoch etwas zeitaufwendiger und komplexer.

5) OnItemTouchListener

Intercepting Artikel Klicks auf einem Listview war einfach, dank seiner AdapterView.OnItemClickListener Schnittstelle. Aber das RecyclerView gibt seinen Entwicklern viel mehr Macht und Kontrolle durch den RecyclerView.OnItemTouchListener, aber es kompliziert die Dinge ein bisschen für den Entwickler.

Nachteile

i) Es ist viel komplexer als eine Listenansicht.

ii) Es kann für einen Anfänger viel Zeit in Anspruch nehmen, einen RecyclerView vollständig zu verstehen.

iii) Es kann unnötigerweise Ihr Codierungsleben erschweren.

iv) Sie müssen mit ihm viel mehr Zeit verbringen, als Sie jemals für eine Listview benötigt

0

Recyclerview ist eine bessere Option becoz Recyclerview hat eigenen Halter Klasse und Recyclerview hat viele in Build-Animation. Es ist einfach zu bedienen und leichter als Listenansicht. You can find recyclerview example here

0

Recycler View ist die bessere Option, da View Holder verwendet werden kann, um Probleme beim Scrollen zu vermeiden.

Auch gibt es mehr Vorteile der Recycler-Ansicht über Listenansicht

Verwandte Themen