JavaRush/Java блог/Android/7 часто задаваемых вопросов и ответов по Android для Java...

7 часто задаваемых вопросов и ответов по Android для Java-разработчиков

Статья из группы Android
участников
В этой статье мы рассмотрим некоторые из чаще всего задаваемых вопросов на собеседованиях по Android. Профессия разработчика приложений под Android весьма востребована. Следующие вопросы очень часто встречаются на собеседованиях на должность Android-разработчиков среднего и начального уровня. Они просты по своей сути, и отлично подходят для повторения и тренировки перед походом на собеседование по Android. 7 часто задаваемых вопросов и ответов по Android для Java-разработчиков - 1

Вопрос 1: В чем разница между обычным png-изображением и 9-patch?

Это один из самых популярных вопросов на собеседованиях по операционной системе Android. Его задают разработчикам с опытом от 1-2 до 5 лет. Ответ таков: это допускающий изменение размера ресурс -точечное изображение, который можно использовать для фона или других изображений на устройстве. Класс NinePatch предоставляет возможность отрисовки изображения в девяти областях. Расширение подобных изображений – .9.png. Их можно расширять девятью способами: 4 угла не масштабируются, 4 грани масштабируются по одной оси и средняя область масштабируется по обоим осям. Вопрос 2: Что такое ANR-уведомление в Android?ANR – это сокращение от "Приложение не отвечает" (Application Not Responding). Системы, работающие на операционной системе Android, показывают это диалоговое окно, если приложение выполняет слишком ресурсоёмкую задачу в основной нити (thread), и не отвечает в течение длительного периода времени.

Вопрос 3: Когда вызывается метод onResume()?

Метод onResume() — один из методов жизненного цикла активностей. Он вызывается, когда активность переходит на передний план. Вы можете переопределить этот метод в своей активности, чтобы выполнять код при запуске, перезапуске активности или её переходе на передний план. Вот понятная схема, поясняющая последовательность выполнения различных методов обратного вызова в Android, включая onResume():
7 часто задаваемых вопросов и ответов по Android для Java-разработчиков - 2

Вопрос 4: В чем заключается различие между неявным (implicit) и явным (explicit) намерением?

Под намерением или Intent в основном понимают сообщения, которые передаются между компонентами (Activities, Services, Broadcast Receivers, Content Providers). Существует два типа намерений: неявные и явные. Давайте разберемся, в чем их отличия. 1) Неявное: О неявных намерениях речь идет при вызове системных намерений по умолчанию, таких как отправка сообщения электронной почты, SMS, набор номера телефона, например:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
sendIntent.setType("text/plain")
startactivity(sendIntent);
2) Явное: Явное намерение используется для перехода от одной активности к другой, например, от активности first к активности second:
Intent intent = new Intent(first.this, second.class);
startactivity(intent);
Больше узнать о явных и неявных намерениях можно из книги Introduction to Android Development By John Sonmez.

Вопрос 5: Что такое формат APK?

Файл в формате APK представляет собой сжатый файл AndroidManifest.XML с расширением .apk. Он содержит код приложения (файлы .dex), файлы ресурсов и другие файлы, сжатые в единый файл.

Вопрос 6: Что такое виртуальная машина Dalvik?

Подобно тому, как Java-приложения выполняются на Oracle HotSpot JVM или Azul JVM, приложения Android работают на виртуальной машине Dalvik (DVM). По сути, это аналог Java-машины, разработанный Google и оптимизированная под. работу с RISC-процессорами.

Вопрос 7: Как приложение Android выполняется на мобильном устройстве под управлением операционной системы Android?

Поскольку код приложений Android чаще всего пишется на языке Java, они сначала компилируются, а затем выполняются, но виртуальная машина, для которой генерируется их байт-код, отличается от стандартной JVM. Для выполнения приложений Android используется виртуальная машина Dalvik.
7 часто задаваемых вопросов и ответов по Android для Java-разработчиков - 3
Комментарии (2)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
m0d
Уровень 10
11 февраля 2018, 11:36
Осталось только выучить ведроид)) Кстати, далвик был на старых версиях. Сейчас ART.
John Doe
Уровень 18
31 января 2018, 15:40
По поводу виртуальной машины неплохо было бы упомянуть про Android Runtime — среда выполнения Android-приложений, разработанная компанией Google как замена Dalvik(Впервые была представлена в API 19 KitKat). По вопросу жизненного цикла, в статье приведен пример картинки жизненного цикла для фрагмента (Fragment), хотя речь идет об жизнинном цикле для активности (Actitvity). Тем не менее метод onResume() что там, что там, вызывается после метода onStart() это да.