2016-06-15 10 views
0

Какова будет разница в производительности динамического добавления представлений (с использованием методов добавления/удаления вида ViewGroup) или помещения их в статический XML-файл макета и его компиляция в двоичный файл формы и раздуты во время выполнения (обычным способом)?Разница в производительности между двумя подходами добавления вида

Я знаю, что ViewStub - это вариант, но мне интересно, есть ли разница в раздувании вообще.

Thanks

ответ

1

Добавить виды программно быстрее. При добавлении представлений из макета XML он добавляет их одинаково, но, кроме того, ему нужно пройти через этот XML и использовать много рефлексии.

Но требуется больше возможностей для разработчиков :)

+0

Извините за поздний отклик. Я думал то же самое, но я только подозревал, что добавление и преобразование вида из скомпилированной двоичной формы макета может компенсировать ход дерева представлений. При добавлении программно у вас также есть накладные расходы на создание представлений (распределение и т. Д.) И дополнительные вызовы функций для правильного их добавления в макет. В целом, я считаю, что различие настолько незначительно, что мы можем его игнорировать? – zgulser

+0

Да, вы правы, изменение в производительности очень незначительное. Поскольку создание динамического представления занимает меньше места, я все же предлагаю пойти с xml. Потому что структура кода также является очень важной частью программирования. И xmls - это красота Android, она отделяет представление (не требует логики) от вашей логической части. Вам не нужно беспокоиться о нескольких экранах при создании макета с помощью xml. И также требуется меньше возможностей для внесения изменений в ваш экран. Так что лучше пойти с макетом xml и попытаться создать минимальные представления в java. Надеюсь, вы удовлетворены, дайте мне знать, если у вас есть больше запросов :) – Neo