Android Performance

Android Weekly Issue 2025-12

Word count: 790Reading time: 4 min
2025/03/31
loading

Android Weekly is a weekly newsletter focused on the Android technical ecosystem, updated every Monday. This newsletter delves into high-quality technical content in areas such as Android system architecture, performance optimization, cross-platform development, and AI, providing continuous knowledge updates and technical insights for developers.

Subscription Channels: [WeChat Official Account] | [Zhihu] | [Juejin] | [RSS]

Technical Articles

  1. Android Vulkan Officially Promoted with Unified Rendering Stack: Impact on Flutter?: Vulkan is now the mandatory GPU HAL for Android, with ANGLE providing a compatibility layer for OpenGL. This unification simplifies the rendering stack but highlights fragmentation challenges for Flutter’s Impeller engine.

  2. Mobile OS Performance Design 3 — Authoritarian Resource Management is Crucial: Comparing Android and iOS design philosophies, this article argues that a “top-down” authoritarian approach to resource allocation and priority is necessary for multi-tasking mobile environments.

  3. Mobile OS Performance Design 4 — Passing Status Information for Service Quality: Discussing the implementation of expected performance targets versus raw speed, and how solving one architectural problem often creates new trade-offs.

  4. Configuring CLion for AOSP C++ Development: A guide for developers who cannot use ASFP, detailing AIDEGen usage, CMakeLists generation, and index optimization for giant codebases.

  5. Performance Analysis in the AI Age: GPU Profiling Intro: Using tools like perf to visualize GPU data with flame graphs, similar to CPU profiling.

  6. vivo Stability Station! Interview Experience for Linux System Engineer: Demystifying the stability engineer role and the technical questions asked in elite mobile firms.

  7. Tracking Out-of-Bounds Memory via Page Filtering: Real-world case study on using the Scudo allocator’s features to debug memory corruption.

  8. Signals: A New State Management Framework for Flutter: Exploring the “magic” of dependency tracking and auto-binding in the new signals approach.

  9. Reviewing Computer Basics: Computer Architecture and Memory Management.

  10. Qualcomm Oryon CPU Microarchitecture Analysis: How the Nuvia acquisition (former Apple M1 members) allowed Qualcomm to catch up with custom CPU cores.

  11. What is a Compiler and What Can It Do?: Discussing the “compiler ghost” (Trusting Trust) and AOT/JIT optimizations in modern Android.

  12. Android WallpaperService Touch Event Principles: Understanding how live wallpapers receive user interactions.

  13. Missing Local Variables when Debugging AOSP userdebug?: Solving optimization issues by overriding specific modules with eng builds.

  14. Linux 6.10 CPU Scheduling Analysis: Focus on MTK platforms, energy-aware selection, and load balancing side effects.

  15. LWN: 2025 mapcount Madness!: Tracking how memory pages map to process address spaces in the era of folios.

  16. Redesigning the Android Looper: Using skip lists and priority tiers to ensure vsync and UI messages are never starved.

  17. Where Should a Task Run After Wake-up? wake_affine and select_idle_sibling: Optimizing cache hotness by picking sister CPUs and managing wake-up topologies.

  18. Media3 1.6.0 — What’s New?.

  19. Elegant Tooltips in Compose: Implementing overlays, anchor coordinate math, and shape clipping.

  20. Java Idioms that Cannot be Replicated in Kotlin.

  21. Interactive Map Visualization with Compose: SVG processing, Vector.xml conversion, and handling click events.

  22. NativeAllocationRegistry — Bonding Java and Native Lifecycle: How Android helps the GC reclaim native memory (Bitmap usage).

  23. Fixing EGL_BAD_ALLOC with bytehook (Android <= 9).

  24. 获取函数调用栈 (Getting Function Call Stacks): Mastering stack traces for log analysis in Flutter.

  25. Make WebViews Edge-to-Edge: Handling insets, IME, and JS injection for total immersion.

  26. Android Time Statistics (Metrics): Using OnFrameMetricsAvailableListener and Choreographer.

  27. Fluent Analysis with Perfetto: Visualizing jank and latency.

  28. Troubleshooting Trace Latency in Perfetto: Deep dive into RenderThread, GL Thread, and SF overhead.

  29. Fixing Fragment Display Bugs: Pitfalls of FragmentTransaction.hide().

  30. Perfetto Quick Start 2 — Basic Usage.

  31. Story Behind PopTranslate (macOS AI translation utility).

  32. lld Linker Journey: Driver, Main Flow, and Relocations.

  33. Android x AI Tech Weekly #3.

  34. Android x HarmonyOS x AI Tech Weekly #4.

  35. vLLM Deep Dive: Production Stacks and DeepSeek Updates.

  36. Kotlin Weekly #450.

Miscellaneous

  1. In Praise of “Ordinary” Engineers: Software value lies in team systems, not the “10x engineer” myth.
  2. Age is a Problem at Apple: Decoupling senior leadership from young user needs in the AI era.
  3. Interviewing with Digital Humans: AI Cheating and Fraud.
  4. “The Worst Programmer”: Why team cohesion is more important than raw code output.
  5. Engineering Leadership in the Age of GenAI — Addy Osmani.
  6. Monthly Income < $3000 After App Store Recommendation: Retrospective on 2 years of independent development.
  7. Google Closing Android? Fake News!: Android remains open-source, but with more private pre-release branches for efficiency.

Books

  1. The Way of Android Performance Optimization (JD): Real-world monitoring and anti-regression case studies from a 10-year veteran.
  2. Bridging Linux Operating Systems and Chip Development (JD): Mastering the “inner strength” of kernels and hardware.

About the Author

  1. Juejin - Gracker
  2. Zhihu - Gracker
  3. Personal Blog - Android Performance
  4. About Me - Join our WeChat groups
  5. Curated Performance Articles
  6. WeChat Official Account Android Performance:
  7. Android Performance Knowledge Planet
CATALOG
  1. 1. Technical Articles
  2. 2. Miscellaneous
  3. 3. Books
  4. 4. About the Author