Android Studio’s Profiler (View → Tool Windows → Profiler) surfaces CPU, memory, and network activity in real time — use it to catch issues like excessive recomposition in Compose (visible via the Layout Inspector’s recomposition counts) or memory not being released after a screen closes.

Common performance checklist

  • Avoid creating new lambdas/objects inside a composable’s body on every recomposition where possible — hoist stable references.
  • Use LazyColumn/LazyRow (Compose’s RecyclerView equivalent) for any list, never a plain Column with a loop.
  • Enable R8 (code shrinking/obfuscation) for release builds to reduce APK size and remove unused code.

Publishing checklist

  1. Generate a signed release build (App Bundle format, .aab, is required by Google Play).
  2. Set a unique applicationId and increment versionCode for every release.
  3. Complete the Play Console’s Data Safety form accurately — this is a common cause of review rejection when it doesn’t match what the app actually does.
  4. Test on a real device (not just the emulator) before submitting.