Ich weiß, es ist eine schlechte Idee, aber ich benutze ein RecyclerView in einem anderen RecyclerView-Element, um eine Liste von Elementen anzuzeigen, die eine Liste enthalten.RecyclerView in einem RecyclerView item
Ich schaffte es, es zu arbeiten und zwickte es so weit wie ich konnte, aber ich bekomme immer noch diese green
Spitzen, wenn Listen mit einer größeren Anzahl von Elementen beginnen zu zeigen und werden auf dem Bildschirm gezeichnet.
Those Spitzen erzeugen eine merkliche Verzögerung, wenn sie durch Gegenstände schleudern und sind noch deutlicher, wenn etwas langsamer und älter als Samsung Galaxy S6 verwendet wird.
Ich habe einige Protokollierung und es scheint, dass die outer
ViewHolders recycelt werden und die inner
RecyclerView des Adapters ist nur 5 Mal erstellt, so dass es die Zeichenzeit, die die Leistung tötet sein muss.
Ich habe es geschafft, die Erstellung von neuen inner
RecyclerViews ViewHolders zu begrenzen, indem ich die maximale Anzahl von ViewHolders im RecycledViewPool einstellte, aber das half nur ein wenig.
Ich weiß, dass das innere RecyclerView kein "bottom" hat, auf dem es sich verlassen konnte, um zu berechnen, wann neue Elemente zu zeigen, so dass es jedes Element sofort zeichnen muss, und das ist wahrscheinlich der Hauptgrund, warum man nicht sollte Verwenden Sie dieses Setup. (Ich komme zu meiner Sinnen, als ich diese Frage schreibe .. danke Gummienten der Welt).
Gibt es eine Möglichkeit, dies noch weiter zu optimieren oder können Sie vorschlagen, wie dies funktioniert mit einem anderen Setup als RecyclerView in einem anderen RecyclerView-Element?
Ich werde bei Bedarf weitere Informationen zur Verfügung stellen.
Danke
Was möchten Sie erreichen? – Stefan
Bitte stimmen Sie die Frage nicht ab ... bevor Sie dem Fragesteller einen Vorschlag unterbreiten. –
versuchen, eine Idee zu bekommen, was als nächstes zu tun ist, um dieses Setup reibungslos zu machen, ohne zu verzögern oder Frames beim Schleudern fallen – rexxar