Тег «основы»
Где у Android-приложения main() — от Zygote до onCreate
В Android нет привычной точки входа, но она есть — ActivityThread.main(). Разбираем всю цепочку запуска: init и Zygote, fork с copy-on-write, Looper главного потока, bindApplication, ClientTransaction — и почему из этого следуют ANR, медленный холодный старт и странные кадры в стектрейсах.
Иерархия типов Kotlin — от Any? до Nothing
Вся система типов Kotlin умещается в несколько правил: Any? на самом верху, Nothing на самом дне и параллельная иерархия nullable-типов. Разбираемся, почему null safety, полиморфизм и анализ недостижимого кода — не спецслучаи в компиляторе, а следствие этих правил.