2017-01-10 3 views
-1

Ich habe eine XML-Datei mit etwa 150 Ansichten. Ja, ich weiß, dass es eine Menge ist und ich habe eine Nachricht von Android Studio erhalten, in der ich sage, dass ich nicht mehr als 80 Aufrufe haben kann. Aber ich kann die Ansichten nicht niedriger als 150 einstellen. Ich habe überlegt, die Listenansicht zu verwenden, aber es funktioniert so, wie ich es wollte.Sind zu viele Ansichten in XML fehlerhaft?

Die Frage ist, werden diese vielen Ansichten die App crash/verlangsamen das Gerät? Ich habe es auf meinem s7 versucht und es funktioniert einwandfrei. Meine niedrigste API ist 17, was 4.2 ist. Wären 4.2 Geräte nicht in der Lage, dieses XML problemlos zu verarbeiten?

Danke.

Antwort

3

Das Problem mit einer übermäßig großen Anzahl von View s ist, dass Android muss oft messen, Layout und zeichnen, und es wird die gesamte View-Hierarchie durchlaufen, um dies zu tun. Wenn die Anzahl von View s so groß ist, dass dieser Durchlauf mehr Zeit benötigt als die Bildschirmaktualisierungsrate, werden Frames übersprungen und Ihre Benutzeroberfläche scheint zu verzögern oder abgehackt zu sein.

Wenn nicht all diese View Bedürfnis auf dem Bildschirm auf einmal (zum Beispiel, wenn Sie ein ScrollView verwenden einen sehr großen Behälter zu halten, die der Benutzer blättern kann) sein, dann sollten Sie wahrscheinlich wechseln RecyclerView zu verwenden .

Wenn alle diese Ansichten sofort auf dem Bildschirm angezeigt werden müssen, sollten Sie möglicherweise View s schreiben, die Ihren Inhalt auf einmal anzeigen können, anstatt einzelne View s zu haben, die einzelne Dinge zeichnen. Dies kann die Zeit und die Komplexität der Messungen/Layout/Zeichnungsdurchquerungen drastisch reduzieren.

Es ist schwierig, einen Ansatz vorzuschlagen, ohne genauere Informationen über Ihre Benutzeroberfläche zu kennen, aber das erklärt hoffentlich das Problem.

+0

Ich benutze Bildlaufansicht. Sarry vergaß das zu erwähnen. Ich werde lernen müssen, RecyclerView zu verwenden, wie Sie es vorgeschlagen haben. Ich danke dir sehr. – DroidGalaxy

Verwandte Themen