Где они живут (значит, под каким процессом)?
Они живут в вашем процессе и в процессе любого другого приложения Android SDK.
Когда ваше приложение запускается, Android разветвляет процесс для вашего приложения из общего процесса, называемого zygote
. zygote
содержит, помимо прочего:
- Среда выполнения (Dalvik или ART, в зависимости от версии Android)
- Общий код Java, например перечисленные классы каркаса
- Общие разделяемые библиотеки, такие как SQLite и OpenSSL
Форк настроен для совместного использования памяти в стиле Linux «копирование при записи». Ваш процесс делит все перечисленные выше вещи с каждым другим процессом, разветвленным от zygote
.
Если вы видите оператор import
в своем собственном коде, импортируемый класс находится в вашем процессе, независимо от того, получили вы его из zygote
или из вашего собственного APK (например, ваши классы, классы из библиотек).