Разработка приложений на Android ведётся с помощью разных фреймворков и языках программирования. Для разработки могут применяться такие языки, как: Java, Kotlin, C++, Python и др.
Java – это официальный язык программирования, который поддерживается Android Studio, в 2019 году занял место в пятерке популярнейших ЯП. На него ссылается большинство документации Google.
Для написания приложений на Java для Android необходимо использовать не только Java-классы, но и манифесты на языке XML, в которых содержится основная информация о программе.
По стандарту в проектах используется Gradle – системе автоматизированной сборки. Для написания UI-части стандартно используется язык XML – язык разметки, поддерживающий расширение.
Также мы имеем возможность создавать код для приложений с помощью Google API Java, создающий скомпилированные файлы классов.
ОС Android задаёт каждому приложению уникальный идентификатор. При запуске каждое из них используется в собственном процессе и виртуальной машине. В случае необходимости ОС Android управляет запуском и остановкой процессов – это говорит о том, что все приложения на базе Android исполняются независимо друг от друга, но могут подавать запрос к доступу аппаратных и системных ресурсов.
Существует 4 основных компонента для приложений под Android:
сервисы,
активности,
поставщики контента,
широковещательные приёмники
В Java и ОС Android выполняются различные задачи вместо разработчика, например, создание разных объектов активности. За её организацию отвечает класс «System». При возникновении необходимости запуска активности необходимо обратиться к методу «startActivity» с типом Intent в виде параметра. После выполнения этих действий, класс «System» может создать новый объект или использовать уже имеющийся.
Сбор мусора в Java, который отвечает за важную задачу вторичного использования памяти, в Android используется аналогично – управляет запуском и остановом, созданием и удалением приложений. Android обеспечивает события жизненных циклов, предопределение которых возможно для интервенции в данный процесс.