Activity lifecycle
Activity lifecycle.
Read →Deep technical articles on Android engineering, Kotlin internals, and software systems. Based on the Code From Scratch YouTube series.
Filter by category
Activity lifecycle.
Read →Android platform overview.
Read →Have you ever seen that dreaded dialog? The one that says
Read →You tap an icon on your phone. A fraction of a second later, an app appears. It feels instant — or at least it
Read →Caching feels like a cheat code. You fetch something expensive — a network response, a database query, a decod
Read →Channels.
Read →Classes and objects.
Read →Collections.
Read →Composite types.
Read →We have reached the final video in this course, and I saved one of the most important concepts for last. Every
Read →In the last video we learned that threads are data structures the kernel manages, and that the scheduler rapid
Read →Control flow in Kotlin.
Read →Coroutine context and dispatchers.
Read →You have probably heard it said that coroutines are lightweight threads. And while that gives you a useful men
Read →If there is one concept in this entire course that will immediately change how you write concurrent code, it i
Read →Data and types.
Read →Data validation.
Read →Decisions and branches.
Read →Dependency injection.
Read →You now know that coroutines are state machines that suspend and resume, borrowing threads from pools rather t
Read →I measured MTP speculative decoding on an Apple M2 Ultra: +92% on a dense 27B model, -19% on a 35B MoE model.
Read →Error handling in coroutines.
Read →Errors and failure.
Read →Extension functions.
Read →Flow basics.
Read →Flow operators.
Read →Functions.
Read →Have you ever wondered what happens to all the objects you create in Kotlin? You call constructors all day lon
Read →Quick question for you. When you write val user equals User parentheses in Kotlin, where does that object actu
Read →Have you ever stopped to think about what actually happens when you tap
Read →Imagine this scenario. A user opens your app, taps
Read →Immutability.
Read →Inheritance and interfaces.
Read →Input and output.
Read →Introduction to coroutines.
Read →Jetpack Compose basics.
Read →Kotlin collections.
Read →Kotlin fundamentals.
Read →Kotlin type system.
Read →Lambdas and higher-order functions.
Read →Layers are the most fundamental concept in software architecture. Every architecture you have ever seen is bas
Read →How many objects do you think your app creates in a single second? Ten? A hundred? Try tens of thousands. Ever
Read →In the last video we talked about race conditions, where two threads interleave their operations and produce w
Read →Modeling with data.
Read →Modularization is one of those topics where the benefits are loudly celebrated and the costs are quietly endur
Read →Every Kotlin developer knows the difference between val and var. Val means you cannot reassign it. Var means y
Read →Naming and abstraction.
Read →Navigation.
Read →Network requests.
Read →Null and absence.
Read →Memory leaks. Every Android developer dreads them. You see the warnings in your profiler, maybe LeakCanary pop
Read →Here is a question for you. How often do your users have no network? If you said
Read →When we think about failure in software, we tend to think in binary terms. It either worked or it did not. The
Read →Primitive types.
Read →I want to tell you about the single most common source of bugs in Android apps. It is not null pointer excepti
Read →In the last two videos, we talked about where time is actually spent and the difference between CPU-bound and
Read →Here is a simple problem. You have a variable called counter, it starts at zero, and you have two threads. Eac
Read →We have spent three videos building up the tools and concepts you need: where time is spent, the CPU-bound ver
Read →Repetition.
Read →Repository pattern.
Read →Here is something that will change how you think about networking: failure is not an edge case. Failure is the
Read →Room database.
Read →Scope functions.
Read →Sequence and order.
Read →Sequences.
Read →Your server sends JSON. Your app needs Kotlin objects. Something has to convert between the two. You probably
Read →Shared state problems.
Read →State and change.
Read →State in Compose.
Read →MVI, MVVM, MVC. If you have been in Android development for a while, you have probably seen passionate debates
Read →Here is a question I want you to sit with for a moment. How many String objects does your app create when it p
Read →Structured concurrency.
Read →Suspend functions.
Read →Synchronization.
Read →In the last video, we traced a single API call and saw that it takes around 500 milliseconds just to get a res
Read →Testing on Android.
Read →Have you ever wondered what actually happens inside your phone's processor the instant you call a function? No
Read →Every Android developer knows one rule: do not block the main thread. But do you actually know what the main t
Read →You write a TextView in XML or call Text in Compose, and text appears on screen. Simple, right? But think abou
Read →Threads.
Read →You use threads every single day. Every Android app you have ever built runs on threads. Your main thread draw
Read →Every time your app makes a network call, it is placing a bet. It is betting that the server will respond with
Read →Variables and values.
Read →ViewModel.
Read →Views and layouts.
Read →We have talked about how the garbage collector traces from roots, following references to decide what stays al
Read →You have written this code a hundred times. You define a Retrofit interface, you call getUser, you get back a
Read →What is a program?
Read →What is concurrency.
Read →Abstraction is the most celebrated tool in software engineering. We are taught from day one: do not repeat you
Read →Performance optimization is one of the most satisfying things you can do as a developer. You find the slow thi
Read →If you have been in Android development for more than a year, you have almost certainly encountered Clean Arch
Read →There are no articles in this category yet.