Происходит ли синтаксический анализ XML-файлов во время выполнения или компиляции? - PullRequest
4 голосов
/ 10 октября 2011

Я далеко не эксперт, когда дело доходит до понимания мелочей компиляции кода. Но я изучаю некоторые разработки для Android, и я заметил, как макеты и другие вещи по существу разбираются из XML. Мне было интересно, если этот анализ происходит во время компиляции или во время выполнения? Если это происходит во время выполнения, кажется, что могут возникнуть некоторые накладные расходы, связанные с анализом очень сложной компоновки.

Надеюсь, что этот вопрос не слишком расплывчат или не имеет смысла.

Ответы [ 2 ]

2 голосов
/ 10 октября 2011

Анализ XML для создания макета происходит во время компиляции.Вы заметите, что если что-то в вашем XML искажено, компилятор выдаст ошибку.

Определенные аспекты компоновки, такие как вычисление относительного положения, происходят во время выполнения, но ничего, что можно избежатьчто.

1 голос
/ 11 октября 2011

Анализ выполняется как во время выполнения, так и во время компиляции для различных целей. Во-первых, во время компиляции обычно разметки и чертежи анализируются для рендеринга редактором макетов и для добавления ссылок на идентификаторы для кода. Стили, темы и атрибуты также скомпилированы на этом этапе, что позволяет использовать некоторые очень мощные пакеты ресурсов XML.

Разбор во время выполнения происходит для каждого ресурса, на лету и по мере необходимости. Это достигается с помощью нескольких классов инфляторов и других вспомогательных классов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...