Search
Search every question and quick fact in the course.
Everything, A to Z (275)
- == vs === Question · Kotlin language
- Accessibility in Compose Question · Modern Android
- ActivityRetainedComponent Quick fact · Architecture and dependency injection
- Android Keystore Question · Security
- ANR threshold Quick fact · Mobile system design
- ANRs: causes and fixes Question · Performance
- API keys and secrets in the APK Question · Security
- App Links Quick fact · Modern Android
- Application class and startup work Question · Lifecycle and app components
- ART Quick fact · Runtime, build and Gradle
- ART: interpreter, JIT and AOT Question · Runtime, build and Gradle
- Baseline Profiles Question · Performance
- Battery-friendly apps Question · Performance
- Biometric authentication Question · Security
- BOOT_COMPLETED Quick fact · Background work and notifications
- Broadcast receivers Question · Lifecycle and app components
- buffer, conflate and collectLatest Question · Flow and StateFlow
- Build types, flavors and variants Question · Runtime, build and Gradle
- Cache freshness and stale data Question · Data and storage
- Chaining work and constraints Question · Background work and notifications
- Channels Question · Flow and StateFlow
- Choosing a dispatcher Question · Coroutines
- Choosing an animation API Question · Jetpack Compose
- clearAllTables() Quick fact · Data and storage
- Cleartext default Quick fact · Security
- Coil Quick fact · Networking
- Cold start time Question · Performance
- Cold vs hot flows Question · Flow and StateFlow
- collectAsStateWithLifecycle Question · Jetpack Compose
- Collecting safely from the UI Question · Coroutines
- Collections vs sequences Question · Kotlin language
- combine vs zip Question · Flow and StateFlow
- Compose and Views together Question · Jetpack Compose
- Compose compiler plugin Quick fact · Jetpack Compose
- Compose phases Quick fact · Jetpack Compose
- Compose UI tests Question · Testing
- Compose vs the View system Question · Jetpack Compose
- CompositionLocal Question · Jetpack Compose
- Configuration cache Quick fact · Runtime, build and Gradle
- Configuration changes Question · Lifecycle and app components
- ConstraintLayout Question · Views, layouts and RecyclerView
- Content providers Question · Lifecycle and app components
- Convention plugins Quick fact · Architecture and dependency injection
- Cooperative cancellation Question · Coroutines
- Coroutines vs threads Question · Coroutines
- CoroutineScope vs CoroutineContext Question · Coroutines
- CoroutineStart.LAZY Quick fact · Coroutines
- Crash threshold Quick fact · Mobile system design
- D8 Quick fact · Runtime, build and Gradle
- Data classes Question · Kotlin language
- data object Quick fact · Kotlin language
- Database Inspector Quick fact · Data and storage
- Database performance Question · Data and storage
- DataStore vs SharedPreferences Question · Data and storage
- debounce Quick fact · Flow and StateFlow
- Deep links and App Links Question · Modern Android
- Deferring state reads Question · Jetpack Compose
- Delegation with by Question · Kotlin language
- Dependency injection Question · Architecture and dependency injection
- derivedStateOf Question · Jetpack Compose
- Design patterns you use every day Question · Architecture and dependency injection
- Designing a chat app Question · Mobile system design
- Designing a social feed Question · Mobile system design
- Designing an analytics or logging SDK Question · Mobile system design
- Designing an image loading library Question · Mobile system design
- Designing an offline-first app Question · Mobile system design
- Designing location tracking Question · Mobile system design
- Designing reliable uploads Question · Mobile system design
- Designing subscriptions with Play Billing Question · Mobile system design
- DEX limit Quick fact · Runtime, build and Gradle
- Dispatchers.IO parallelism Quick fact · Coroutines
- DisposableEffect Question · Jetpack Compose
- Don't swallow CancellationException Question · Coroutines
- Doze and App Standby Question · Background work and notifications
- dp Quick fact · Views, layouts and RecyclerView
- Edge-to-edge Quick fact · Modern Android
- Edge-to-edge and window insets Question · Modern Android
- Elvis operator Quick fact · Kotlin language
- Exact alarms Question · Background work and notifications
- Expedited and long-running work Question · Background work and notifications
- Explicit and implicit intents Question · Lifecycle and app components
- Exported components Quick fact · Lifecycle and app components
- Exported components and intent safety Question · Security
- Extension functions Question · Kotlin language
- Fakes, mocks and stubs Question · Testing
- Feature flags and staged rollouts Question · Mobile system design
- first() Quick fact · Flow and StateFlow
- Flaky tests Question · Testing
- flowOn and context preservation Question · Flow and StateFlow
- Foldables and large screens Question · Modern Android
- Foreground service types Quick fact · Lifecycle and app components
- Fragment and view lifecycles Question · Lifecycle and app components
- Frame budget Quick fact · Performance
- Garbage collection on Android Question · Runtime, build and Gradle
- Generics: in, out and star projection Question · Kotlin language
- Gradle Managed Devices Quick fact · Testing
- Handling a crash spike after release Question · Mobile system design
- Handling errors in a Flow Question · Flow and StateFlow
- Handling offline and flaky networks Question · Networking
- Hilt basics Question · Architecture and dependency injection
- Hilt components and scopes Question · Architecture and dependency injection
- Hilt vs Koin vs manual DI Question · Architecture and dependency injection
- @HiltAndroidApp Quick fact · Architecture and dependency injection
- hiltViewModel() Quick fact · Architecture and dependency injection
- Home screen widgets with Glance Question · Modern Android
- How a View is measured, laid out and drawn Question · Views, layouts and RecyclerView
- How a ViewModel survives Question · Lifecycle and app components
- How Kotlin code runs on Android Question · Kotlin language
- How Room Flow queries update Question · Data and storage
- HTTP caching with OkHttp Question · Networking
- HttpException Quick fact · Networking
- Image loading Question · Networking
- @Immutable vs @Stable Quick fact · Jetpack Compose
- inline functions and reified Question · Kotlin language
- Input ANR timeout Quick fact · Performance
- Interface vs abstract class Question · Runtime, build and Gradle
- Jank and dropped frames Question · Performance
- Job vs SupervisorJob Question · Coroutines
- @JvmStatic, @JvmField and @JvmOverloads Question · Kotlin language
- kapt vs KSP Question · Runtime, build and Gradle
- Keys in LazyColumn Question · Jetpack Compose
- Kotlin 2 and the K2 compiler Question · Kotlin language
- Kotlin Multiplatform Question · Modern Android
- Kotlin typealias Quick fact · Kotlin language
- kotlinx.serialization vs Gson Question · Networking
- KSP Quick fact · Runtime, build and Gradle
- Lambdas, function types and fun interfaces Question · Kotlin language
- Large screens Quick fact · Modern Android
- Large screens and window size classes Question · Views, layouts and RecyclerView
- lateinit vs by lazy Question · Kotlin language
- Launch modes and tasks Question · Lifecycle and app components
- launch vs async Question · Coroutines
- LaunchedEffect and its keys Question · Jetpack Compose
- LeakCanary Quick fact · Performance
- Least privilege and privacy APIs Question · Security
- let, run, with, apply, also Question · Kotlin language
- Lifecycle order: A opens B Question · Lifecycle and app components
- LiveData vs StateFlow Question · Flow and StateFlow
- Loading several things in parallel Question · Coroutines
- Local vs instrumented tests Question · Testing
- Looper, Handler and the main thread Question · Performance
- Macrobenchmark and Microbenchmark Question · Performance
- map, filter and transform Question · Flow and StateFlow
- Memory leaks Question · Performance
- Modelling errors Question · Architecture and dependency injection
- Modifier.animateItem() Quick fact · Jetpack Compose
- Modularisation Question · Architecture and dependency injection
- MutableStateFlow.update Quick fact · Flow and StateFlow
- MVVM vs MVI Question · Architecture and dependency injection
- Navigation between feature modules Question · Architecture and dependency injection
- Navigation in Compose Question · Jetpack Compose
- Network security config and pinning Question · Security
- NonCancellable Quick fact · Coroutines
- Notification importance Quick fact · Background work and notifications
- Notification permission Quick fact · Lifecycle and app components
- Notifications and channels Question · Background work and notifications
- Now in Android Quick fact · Architecture and dependency injection
- Null safety and !! Question · Kotlin language
- object, companion object and singletons Question · Kotlin language
- OkHttp call timeout Quick fact · Networking
- OkHttp interceptors Question · Networking
- On-device AI features Question · Modern Android
- One-off events from a ViewModel Question · Flow and StateFlow
- onSaveInstanceState timing Quick fact · Lifecycle and app components
- OOP principles in Kotlin Question · Runtime, build and Gradle
- Package visibility Quick fact · Lifecycle and app components
- Paging 3 Question · Data and storage
- Parcelable vs Serializable Question · Lifecycle and app components
- Passkeys Quick fact · Modern Android
- Passkeys and Credential Manager Question · Modern Android
- PendingIntent and mutability Question · Lifecycle and app components
- PeriodicWorkRequest minimum Quick fact · Background work and notifications
- Play Integrity API Question · Security
- Predictive back Question · Modern Android
- Previews that scale Question · Jetpack Compose
- Process death Question · Lifecycle and app components
- produceState Quick fact · Jetpack Compose
- profileable Quick fact · Performance
- Profiling tools Question · Performance
- Proto DataStore Quick fact · Data and storage
- Purchase acknowledgement Quick fact · Mobile system design
- Push messages with FCM Question · Background work and notifications
- R8, shrinking and keep rules Question · Runtime, build and Gradle
- Range operators Quick fact · Kotlin language
- RecyclerView, ListAdapter and DiffUtil Question · Views, layouts and RecyclerView
- Reducing app size Question · Performance
- Refreshing an expired token once Question · Networking
- Relations, transactions and N+1 queries Question · Data and storage
- remember vs rememberSaveable Question · Jetpack Compose
- rememberCoroutineScope Question · Jetpack Compose
- rememberUpdatedState Question · Jetpack Compose
- reportFullyDrawn() Quick fact · Performance
- Repositories and a single source of truth Question · Architecture and dependency injection
- Resources and qualifiers Question · Views, layouts and RecyclerView
- Retries with exponential backoff Question · Networking
- Retrofit with coroutines Question · Networking
- Retry-After Quick fact · Networking
- Robolectric Quick fact · Testing
- Room basics Question · Data and storage
- Room migrations Question · Data and storage
- runBlocking on Android Question · Coroutines
- runInterruptible Quick fact · Coroutines
- Runtime arguments with Hilt Question · Architecture and dependency injection
- Runtime permissions Question · Lifecycle and app components
- SafetyNet Quick fact · Security
- SavedStateHandle Question · Lifecycle and app components
- Scoped storage Question · Data and storage
- Screenshot tests Question · Testing
- Sealed classes and exhaustive when Question · Kotlin language
- Search-as-you-type with Flow Question · Flow and StateFlow
- Services and foreground service types Question · Lifecycle and app components
- Shared mutable state Question · Coroutines
- shareIn replay Quick fact · Flow and StateFlow
- SharingStarted.WhileSubscribed Quick fact · Flow and StateFlow
- SideEffect Quick fact · Jetpack Compose
- Slot APIs Question · Jetpack Compose
- Smart casts and their limits Question · Kotlin language
- Smooth long lists Question · Performance
- SOLID on Android Question · Architecture and dependency injection
- Speeding up Gradle builds Question · Runtime, build and Gradle
- Stability and skipping Question · Jetpack Compose
- State hoisting Question · Jetpack Compose
- State lists and mutation Question · Jetpack Compose
- StateFlow vs SharedFlow Question · Flow and StateFlow
- stateIn and WhileSubscribed(5_000) Question · Flow and StateFlow
- Storing tokens and secrets on device Question · Security
- StrictMode Question · Performance
- Strong skipping mode Question · Jetpack Compose
- StrongBox Quick fact · Security
- Structured concurrency Question · Coroutines
- Target SDK upgrades Question · Modern Android
- Testing a ViewModel Question · Testing
- Testing coroutines with runTest Question · Testing
- Testing Flows Question · Testing
- Testing Room and migrations Question · Testing
- The Activity lifecycle Question · Lifecycle and app components
- The Activity Result API Question · Lifecycle and app components
- Threads, @Volatile and synchronized Question · Runtime, build and Gradle
- Touch event dispatch Question · Views, layouts and RecyclerView
- Touch target Quick fact · Views, layouts and RecyclerView
- Trailing lambdas Quick fact · Kotlin language
- TransactionTooLargeException Question · Lifecycle and app components
- Turbine Quick fact · Testing
- UI, domain and data layers Question · Architecture and dependency injection
- UnconfinedTestDispatcher Quick fact · Testing
- Unidirectional data flow and UiState Question · Architecture and dependency injection
- @Upsert Quick fact · Data and storage
- Use cases and the domain layer Question · Architecture and dependency injection
- User CAs Quick fact · Security
- val, var and const val Question · Kotlin language
- Value classes Question · Kotlin language
- Version catalogs and convention plugins Question · Runtime, build and Gradle
- View Binding vs findViewById and Data Binding Question · Views, layouts and RecyclerView
- viewModelScope context Quick fact · Coroutines
- ViewPager2 Quick fact · Views, layouts and RecyclerView
- ViewStub Quick fact · Views, layouts and RecyclerView
- Visibility: internal and friends Question · Kotlin language
- WebView security Question · Security
- What does suspend mean? Question · Coroutines
- What happens to viewModelScope work on rotation? Question · Coroutines
- What to clear on logout Question · Data and storage
- What triggers recomposition? Question · Jetpack Compose
- when guard conditions Quick fact · Kotlin language
- Where CoroutineExceptionHandler works Question · Coroutines
- Why didn't my StateFlow update? Question · Flow and StateFlow
- Why modifier order matters Question · Jetpack Compose
- Why not GlobalScope? Question · Coroutines
- Widget updates Quick fact · Modern Android
- withContext and main-safety Question · Coroutines
- withTimeout vs withTimeoutOrNull Question · Coroutines
- WorkManager basics Question · Background work and notifications
- WorkManager Data limit Quick fact · Background work and notifications
- Wrapping a listener with callbackFlow Question · Flow and StateFlow
- Writing a custom View Question · Views, layouts and RecyclerView
- yield() Quick fact · Coroutines