Android Studio 3.5 beta adds a Google Pixel 3a emulator skin, high-end Chromebook support, foldable device emulator, and much more

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.

Android Studio 3.5 Beta Changelog

  • System Health
    • Memory Settings
    • Memory Usage Report
    • Reduce Exceptions
    • User Interface Freezes
    • Build Speed
    • IDE Speed
    • Lint Code Analysis
    • I/O File Access
    • Emulator CPU Usage
  • Feature Polish
    • Apply Changes
    • Gradle Sync
    • Project Upgrades
    • Layout Editor
    • Data Binding
    • App Deployment
    • C++ Improvements
    • Intellij 2019.1 Platform Update
    • Conditional Delivery for Dynamic Feature Support
    • Emulator Foldables &  Pixel Device Support
    • Chrome OS Support


System Health

Memory

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.

Exceptions

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.

Android Studio 3.5

Android Studio Exception Bubble. You’ll see the bottom right red icon less often.

UI Freezes

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.

Build Speed

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.

IDE Speed

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.

Android Studio 3.5

System Health Notification – Anti-virus check

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.

Feature Polish

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.

Module Selection for Conditional Delivery

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.

Android Emulator – Foldable Support

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.

Android Studio on a Chromebook

Android Studio in Chrome OS

Other Changes

  • 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.

Discuss This Story

Want more posts like this delivered to your inbox? Enter your email to be subscribed to our newsletter.

READ THIS NEXT