Google has officially rolled out the second developer preview for Android 16, providing developers with an early glimpse into the future of the Android platform. This release focuses on enhancing app experiences, extending battery life, boosting performance, and ensuring smoother compatibility with the upcoming OS update.
- System Triggered Profiling - Building on Android 15's ProfilingManager, Android 16 introduces system-triggered profiling, which helps developers identify and address critical issues like slow app startups or "Application Not Responding" (ANR) scenarios. Developers can leverage ProfilingManager#addProfilingTriggers() to gather essential diagnostic data.
- Job Introspection - New APIs in Android 16, such as JobScheduler#getPendingJobReasons(int jobId) and JobScheduler#getPendingJobReasonsHistory(int jobId), offer insights into why jobs might be delayed or not executing as expected. This helps in fine-tuning job execution, thereby enhancing app reliability and performance.
- Job Execution Optimisations - Android 16 refines job scheduling by adjusting runtime quotas based on various factors like app visibility or the presence of foreground services. Developers are encouraged to use user-initiated data transfers for operations that might exceed these quotas.
- Adaptive Refresh Rate Enhancements - Android 16 improves the Adaptive Refresh Rate (ARR) feature. With new APIs like hasArrSupport() and getSuggestedFrameRate(int), developers can better manage display refresh rates for energy efficiency and visual smoothness.
- Richer Haptics - Android 16 offers developers more control over haptic feedback, allowing for the customization of amplitude and frequency to create more immersive user experiences.
- Application Start Insight -The getStartComponent() method added to the ApplicationStartInfo class provides insights into which component initiated an app's launch, facilitating more efficient app startup strategies.
- Health Connect Updates - A new ACTIVITY_INTENSITY datatype reflects physical activity levels, adhering to WHO standards. Additionally, support for reading and writing health records in FHIR format enhances app interoperability in health data management.
- Predictive Back Animations - Developers can now fine-tune how apps respond to back gestures with new callbacks, enabling more dynamic and user-friendly interactions. Read more about predictive back animations here.
- Wi-Fi Ranging with Enhanced Security - For devices supporting the 802.11az protocol, Android 16 bolsters security with AES-256 encryption, protecting against potential threats like man-in-the-middle attacks.
- Cloud Search in the Photo Picker - This feature will allow users to search for media stored in the cloud directly from the Android photo picker, improving user access to media.
- Deprecating Disruptive Accessibility Announcements - Google suggests moving away from announceForAccessibility() and TYPE_ANNOUNCEMENT, adopting alternatives like setAccessibilityLiveRegion(int) for better user experiences.
- JobInfo Deprecation Completed - The setImportantWhileForeground(boolean) method from JobInfo.Builder is now fully deprecated, with no action taken on calls to this method.
This transition will be in two phases as outline by Google. There will be a Major Release in Q2 2025 to introdue new APIs and behavior change. This will be followed by Minor Release in Q4 2025 focused on optimizations, bug fixes, and minor feature updates. This incremental updates are bound to ensure continuous quality between these major releases.
Developers should start adapting their apps to the new Android 16 SDK, ensuring compatibility through rigorous testing during the ongoing Android 16 Preview Program. The final release is slated shortly after achieving Platform Stability in March 2025.