Android Studio 3.5 beta adds a Google Pixel 3a emulator skin, high-end Chromebook support, foldable device emulator, and much more
Google’s official IDE for Android software development, Android Studio, has recently undergone many changes to improve overall stability. Google dubbed their bug-squashing initiative “Project Marble,” and their goal was to focus all their attention on addressing the many complaints that developers have had about the IDE, such as the annoying memory leak issues. With each point release of the IDE, however, Google still brings new features to the table such as Android Studio 3.4’s Resource Manager and Project Structure Dialog. At Google I/O 2019, Google announced the first beta release of Android Studio 3.5 with the bug fixing and feature polishing that we’ve come to expect. Here are the highlights of the 3.5-beta1 release followed by a summary of each change.
Google has already fixed many issues resulting in memory leaks over the past few months, but they recently started allowing users to opt-in to sending them data on out-of-memory exceptions so they can find the remaining issues. When the IDE runs out of memory in version 3.5-beta 1, high-level statistics about the memory heap size and the dominant objects in the heap will automatically be captured so Android Studio can suggest better memory settings and offer to do a deeper analysis. If an app needs more RAM than the default heap size of 1.2GB, the IDE will offer to increase the heap size automatically to accommodate these larger projects. You can also manually make adjustments to the heap size in settings. Lastly, the 3.5-beta1 update lets you trigger a memory heap dump sanitized of personal data that you can share with Google for troubleshooting.
With 3.5-beta1, you’ll now encounter fewer exceptions since Google now detects issues more quickly in the Canary channel with data collected from opted-in users. You’ll also see fewer notifications for exceptions since the crash reports and analytics require less input from the user to report to Google.
The infrastructure of the underlying Intellij platform has been extended to measure UI thread stops lasting longer than a few moments. With the data they collect, they can hone in on common issues causing UI freezes. For instance, the team optimized XML code editing performance in version 3.5-beta1 using data they obtained during Project Marble development.
The build speed of projects has been improved with the addition of incremental build support to annotation processors like Glide, AndroidX data binding, Dagger, Realm, and Kotlin. Google’s preliminary analysis shows that adding incremental support for Kotlin resulted in a 60% improvement in submodule non-ABI code changes for the Google I/O 2019 app.
Several unnecessary parts of the Android NDK have been removed to improve overall IDE speed, so developers will no longer need to entirely disable the Android NDK plugin just to improve performance of Android Studio.
Lint Code Analysis
Lint’s code analysis is now up to two times faster, especially in bath analysis mode, thanks to fixes being made for several memory leaks.
I/O File Access for Windows
For Windows users, the performance may be negatively impacted by anti-virus apps including build and installation directories for scanning. In version 3.5-beta1, the IDE will check excluded anti-virus directories against your project’s build directory for inconsistencies, and notify you to make changes to avoid unnecessary slowdowns.
Emulator CPU Usage
Google found that Play Services and its related services were aggressively running in the background because the emulator device is set to AC power rather than battery discharging. To reduce background CPU usage by more than 3 times, the latest Android Emulator will be set to battery discharging by default.
Conditional Delivery for Dynamic Feature Support
App Bundle support in Android Studio 3.5 is getting improved with Conditional Delivery. This allows you to set device config requirements (eg. OpenGL version, AR support, API level, user country, etc.) for dynamic feature modules to be automatically downloaded during installation.
Emulator Foldables & Google Pixel 3a Support
The updated Android Studio emulator now supports creating virtual, foldable devices. It also brings skins for the newly launched Google Pixel 3a and Google Pixel 3a XL.
Chrome OS Support
At the 2018 Android Dev Summit, Google announced that Android Studio support will be coming to Chromebooks in 2019. The time has now come for Chrome OS support, starting with high-end x86-based Chromebooks running Chrome OS 72 and higher. Apps can be deployed to Android devices connected via USB. An installer is available here.
- Apply Changes: Android Studio 3.5 introduces Apply Changes to let you test code changes without restarting your app. Over the last few months, the deployment pipeline was re-architected to improve deployment speed and the run and deployment toolbar buttons tweaked for a more streamlined experience.
- Gradle Sync: A recent Gradle change caused caches of your project’s dependencies to be purged to save storage space, resulting in errors for missing dependencies. Version 3.5-beta1 of the IDE now checks for this state.
- Project Upgrades: Output windows, pop-ups, and dialog boxes have been updated to tell you when you have to update to a newer build, and the latest releases also let you update the IDE and Gradle plugin independently.
- Layout Editor: The usability of the layout editor has been improved in areas such as constraint selection and deletion to device preview resizing.
- Data Binding: Google has fixed hangs in the code editor when creating data binding expressions in XMLs.
- App Deployment Flow: A new dropdown lets you see and change which device(s) you intend to deploy your project to.
- C++ Improvements: CMake builds are up to 25% faster due to parallel Ninja target invocations, you can specify ABI targets separately with the new single build variant UI, and you can use multiple versions of the Android NDK side-by-side in build.gradle.
- Intellij Platform Update: The 2019.1 Intellij platform features have been included.
For the full release notes, check out this page. To download the latest beta version, visit this page. (Make sure you download Android Emulator v29.0.6 to take advantage of the aforementioned features.) If you encounter any bugs, you can notify the team of any issues here. Lastly, follow the Android Studio development team on Twitter and Medium to stay up-to-date on the latest news for the IDE.