AppCompactActivity vs Activity

Изучаю Android - разработку и столкнулся с двумя классами AppCompatAvtivity и Activity. Какой из них лучше использовать и почему?


Ответы (2 шт):

Автор решения: woesss
  • AppCompatAvtivity - класс из дополнительно подключаемых библиотек поддержки, которые реализуют единый API для всех поддерживаемых версий ОС, добавляют поддержку новых фич для старых ОС.
    Если вы хотите делать красивый модный UI и поменьше костылей для поддержки разных версий SDK, то AppCompatAvtivity - ваш выбор.
  • Activity - класс из SDK, предустановлен на устройстве и, соответственно, имеет различия от версии к версии. Подходит для случаев, когда активность вам нужна только как точка входа и фрейм для вывода чего-то своего - тогда можно сэкономить на зависимостях. Либо если "мсье знает толк в извращениях" и хочет всё сделать в лучшем виде сам, не прибегая к зависимостям или нужно впихнуть невпихуемое в конкретный аппарат с очень ограниченным железом.
→ Ссылка
Автор решения: Style-7

Не compaсt а compat (от compatible - совместимый) Activity.

Компания Google выпустила библиотеку поддержки для устаревших версий Андроид. Она предназначена для обеспечения функционирования новых элементов пользовательского интерфейса и т.п., причем эта библиотека (а вернее набор) "цепляется" к каждому приложению вместо того, чтобы храниться централизовано на устройстве.

Отмечу, что, например, компания Apple такое не практикует.

Так какой класс выбрать? Выбирайте сами исходя из ваших целей. Если вы будете разрабатывать игры со своим рисованным интерфейсом то смысла в библиотеке поддержки нет. Например, в книге "Head First Android Development" в начале используется Activity, а по мере изучения рассматривается AppCompatActivity.

→ Ссылка