Blog about Android
-
Чем процесс от потока отличается? Какое взаимоотношение процессов с потоками?
Отличия процесса и потока: Взаимоотношение процессов и потоков в Java: В Java каждый процесс может иметь несколько потоков, что позволяет программам выполнять задачи параллельно. Все потоки внутри одного процесса могут обмениваться данными через общую память.
-
ClassLoader в Java. Какие бывают? Какие отрабатывают на старте Android приложения?
Основные виды ClassLoader в Java: ClassLoader в Android: В Android используется PathClassLoader, который загружает классы APK приложения, а также библиотеки. При старте приложения Android использует этот ClassLoader для загрузки классов из APK и сторонних библиотек.
-
Если два потока выполняют один и тот же метод, будет ли между ними шариться переменная из метода?
Нет, если два потока выполняют один и тот же метод, локальные переменные метода не будут разделяться между потоками. Каждому потоку выделяется собственная память в стеке, и локальные переменные метода хранятся в этой области. Это означает, что каждый поток будет иметь свою собственную копию локальных переменных, и они не будут «шариться» между потоками. Однако, если переменная…
-
Модель памяти в Java? Heap, Stack. Как хранятся static объекты?
Java использует кучу (Heap) и стек (Stack) для управления памятью. Хранение static объектов:
-
hashCode() и equals(). Какой у них контракт? Как нужно их переопределять? Где они используются и как?
Контракт hashCode() и equals() в Java: Как переопределять: Где используются hashCode() и equals(): Правильное переопределение этих методов гарантирует корректное поведение при работе с коллекциями и логикой сравнения объектов.
-
Object в Java. Что внутри? Сколько памяти занимает?
В Java фактически все классы наследуются от класса Object. Все остальные классы, даже те, которые мы добавляем в свой проект, являются неявно производными от класса Object. Поэтому все типы и классы могут реализовать те методы, которые определены в классе Object. Сколько памяти занимает:
-
Сервисы. Что такое, для чего нужны, какие бывают?
Сервисы (Service) — это компоненты Android-приложения, которые выполняют долгосрочные операции в фоновом режиме и не имеют пользовательского интерфейса. Они используются для выполнения задач, которые должны продолжаться, даже если пользователь не взаимодействует с приложением. Для чего нужны? Сервисы нужны для выполнения фоновых операций, таких как: Виды сервисов:
-
Жизненный цикл Activity. Какой порядок вызова методов жизненного цикла для двух Activity?
Ответ: Жизненный цикл Activity состоит из следующих основных методов: Порядок вызова методов жизненного цикла для двух Activity Предположим, есть Activity A и Activity B. Когда вы переходите от Activity A к Activity B, порядок вызова методов будет таким: Если Activity B завершена и возвращается к Activity A:
-
Отличия жизненного цикла Fragment-a от жизненного цикла Activity
Ответ: Fragment имеет дополнительные методы жизненного цикла:
-
Расскажи про основные компоненты Android приложения
Ответ: Ключевые компоненты Android-приложения: Activity: Компонент, отвечающий за взаимодействие с пользователем через экранный интерфейс. Service: Фоновый компонент, выполняющий задачи без прямого взаимодействия с пользователем, такие как загрузка данных или воспроизведение музыки. BroadcastReceiver: Обрабатывает широковещательные сообщения от системы или других приложений, например, уведомления об изменениях сети или батареи. ContentProvider: Управляет доступом к структурированным данным и предоставляет…
-
Можно ли сделать приложение например только с BroadcastReciever-ом? Или только с ContentProvider-ом?
Ответы: Да, в Android можно создать приложение, содержащее только один компонент — BroadcastReceiver. Такое приложение будет реагировать на определённые широковещательные сигналы, такие как системные события или сообщения от других приложений. Да, в Android можно создать приложение, которое будет состоять только из одного компонента — ContentProvider. Такое приложение не будет иметь интерфейса и будет предназначено для…
-
Что такое object? Потокобезопасен ли он? Какие еще есть реализации синглтона?
Ответы: Что такое object? object — это ключевое слово в Kotlin, которое используется для создания синглтона, то есть объекта, который существует в единственном экземпляре на протяжении всей программы. object также используется для создания анонимных объектов, например, при реализации интерфейсов на месте. object можно использовать для создания компаньон-объекта внутри класса. Компаньон-объект является аналогом статических членов в…