Skip to content

Conversation

@Senchick
Copy link
Owner

Motivation

  • Bring the Android interview notes up-to-date with modern platform behavior, API deprecations and recommended replacements.
  • Clarify lifecycle/startup ordering, background execution and storage/security best practices that changed in recent Android releases.
  • Preserve mentions of older APIs (mark as deprecated/"устаревшее, но иногда спрашивают") when they remain relevant for interviews.
  • Fill gaps for common interview topics (DataStore, WorkManager, Image handling, notifications, ART internals, memory/battery tools).

Description

  • Updated section/android.md with precise technical clarifications such as Context being an abstract class, Application vs ContentProvider startup ordering, and that process entry is ActivityThread.main() after Zygote forks.
  • Added modern guidance and deprecation context: onActivityCreated and setRetainInstance marked deprecated, recommend ViewModel/SavedStateHandle, prefer ViewPager2/FragmentStateAdapter over legacy adapters, and note IntentService/AsyncTask as deprecated (but mentioned as interview topics).
  • Clarified background execution, broadcasts and services: manifest broadcast restrictions (Android 8.0+), startForegroundService() behavior, WorkManager as the practical cross-API replacement, and PendingIntent FLAG_IMMUTABLE/FLAG_MUTABLE requirement (Android 12+).
  • Filled missing practical topics and tooling: DataStore (Preferences/Proto), bitmap decoding and pooling recommendations, Jetpack Security / Keystore, onTrimMemory handling, LeakCanary/Memory Profiler usage, NotificationChannel and POST_NOTIFICATIONS requirement, ART (AOT+JIT with profile-guided compilation), and other small clarifications throughout.

Testing

  • Documentation-only changes; no unit/integration tests were added or run.
  • File updated: section/android.md and changes committed (git commit completed locally).
  • No automated test failures (no tests executed).

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants