Нет большого преимущества или недостатка идентификатора платформы против пользовательского идентификатора в макетах.
Преимущества использования идентификаторов инфраструктуры:
- Избегайтесоздание большего количества идентификаторов.Сохраняет одно поле в apk (и существует предел размера apk).
- Должен использоваться в некоторых ситуациях, например
ListActivity
Недостатки использования идентификаторов платформы:
- Не предоставляйте описательное имя
В обеих практиках
- Код будет работать в будущем
- Отсутствующие ссылкиобнаружены во время выполнения и скрыты во время компиляции
Я думал, что примеры в SDK помогут мне принять решение, а (угадайте, что?) - нет.Приложения Notepad и LunarLander используют android.R.id
для идентификаторов вида, тогда как проект ApiDemos использует пользовательские идентификаторы.
Лучшая практика для GestureBuilder, которая сочетает в себе оба подхода?(@+id/addButton
и @android:id/empty
)
IHMO, худшая практика для HelloActivity и JetBoy, которые определяют @+id/text
@+id/Button01
... Это не носит описательный характер и может быть заменено на (@andoid:id/button1
, или@+id/startButton
)