2010-08-19 11 views
13

So weit ich nicht verstehst, ist weder ein ViewStub noch ein View, der GONE ist, an dem Measure und Layout beteiligt (oder Rendering sowieso).ViewStub vs. View.GONE

Gibt es einen Unterschied in der Renderleistung? Was ist die beste Vorgehensweise, wann welche zu verwenden?

Antwort

5

Die Rendering-Leistung kommt zum Tragen, wenn Sie die Ansichten aufblasen.

Meine Vermutung ist, dass es viel billiger ist, einen ViewStub aufzublasen als einen View aufzublähen, entweder aus XML oder durch Ändern der Sichtbarkeit. ViewStub wird insbesondere verwendet, wenn Sie Sichten hinzufügen oder entfernen müssen (z. B. Telefonnummern zu einem bestimmten Kontakt hinzufügen). Hoffe, das ist, was Sie gesucht haben.

+2

ist nicht ein ViewStub Aufblasen der Ansicht, dass die ViewStub Stubs (hey cool, sagen, dass 3 mal in Folge!) Aufblasen? – Matthias

+0

Zu viele Ansichten - zu viele Stubs! ;). Ich glaube nicht. Ich erinnere mich vage daran, etwas darüber gelesen zu haben. Dokumentation: "Layoutressourcen zur Laufzeit langsam aufblasen; ViewStub existiert in der Ansichtshierarchie" - Ich denke, das bedeutet, dass es wesentlich billiger ist, einen ViewStub aufzublasen als einen View aufzublasen. –

+4

Mit anderen Worten, solange ein ViewStub noch nicht aufgeblasen wurde, ist es schneller zu rendern als eine Ansicht, die GONE ist, richtig? Und wenn es tatsächlich aufgeblasen werden muss, ist die Inflation billiger als eine "normale" Inflation? – Matthias