material-components / material-components/material-components-android

Implement a new EditText-like component designed to be optimized for large amounts of data

Offen
#4,635 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature request New component
Vorherrschende Sprache
Java
Sterne
17.4k
Forks
3.2k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Is your feature request related to a problem? Please describe.

Currently, EditText struggles with handling large amounts of text efficiently, often resulting in significant lag and performance issues. This makes it difficult for applications that rely on extensive text input or display, such as note-taking apps, to provide a smooth user experience.

Describe the solution you'd like

It would be highly beneficial to introduce a new text-handling component for both EditText and TextView that functions similarly to a RecyclerView, rendering only the visible portion of the text dynamically. This would dramatically improve performance by reducing memory usage and processing overhead. A solution like this would eliminate the need for developers to implement complex workarounds, such as manually integrating RecyclerView or other intricate methods, just to handle large text efficiently.

Describe alternatives you've considered

I initially attempted to use TextView and EditText to manage large text inputs, but the result was severe lag and stuttering. Switching to RecyclerView or ListView provided some relief but added unnecessary complexity, making text display and editing far more cumbersome than it should be. A native, optimized solution would be a game-changer.

Additional context

I sincerely hope this request is considered for future releases, as it would greatly enhance performance and usability for text-heavy applications and make it easier on the developers of apps such as Note Taking, Code Editing, and more.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das bestehende Verhalten von EditText und TextView bei großen Textmengen zu überprüfen, und vergleiche anschließend die im Issue erwähnten Ansätze von RecyclerView und ListView. Eine vollständige Lösung würde eine native Komponente zur Textanzeige und -bearbeitung bereitstellen, die nur den sichtbaren Teil rendert und dabei Verzögerungen und Speicheraufwand reduziert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, java
Bereich
mobile
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.