Android Studio 3.5: Steady Progress on Project Marble

Author: Jamal Eason, Android Product Manager

Android Studio 3.5: Steady Progress on Project Marble

Have you ever wished that Android Studio could be faster, perform better, and be more efficient?If so, download the latest Android Studio 3.5 now!You will experience an unprecedented stable version of Android Studio.Over the past 8 months, the Android Studio team has paused the development of new features and focused on improving the quality of the Studio product, just to provide you with a faster daily development experience!We named this work Project Marble.This project revolves around three core areas: system health, feature optimization, and bug fixing, aiming to build powerful and stable foundational features and flows in Android Studio and the Android Emulator.We will directly integrate the feedback received from developers into Project Marble, and we welcome everyone to continue submitting feedback and sharing your thoughts and feelings with us.
To improve the system health of Android Studio, we first developed a completely new infrastructure and internal dashboard to better monitor system performance issues. The safety net deployed through this method can help us successfully capture problems that are difficult to identify through regular unit tests. Next, the team resolved a series of issues, including fixing over 600 bugs, 50 memory leaks, and 20 IDE hang issues, and reduced the delay from input to display for XML and Kotlin. Additionally, regarding the Android Emulator, we reduced the impact of CPU and memory on your development device. Although the focus of Project Marble is on optimizing the system health of the IDE and the Android Emulator, we also discovered several new quality areas during the implementation phase of the project that will require the team to continue tackling in the future.
Aside from memory and performance, the team also invested a significant amount of time optimizing and fixing several core features aimed at developers. For example: we reviewed the application deployment flow on devices, thoroughly restructured Instant Run, and developed a more reliable and trustworthy alternative – Apply Changes. With Apply Changes, we no longer rewrite your APK file during builds but redefine classes at runtime using runtime instrumentation. If you want to quickly edit code and see code changes, try Android Studio 3.5 right now.
Finally, during the Project Marble period, we fixed multiple bugs in Android Studio 3.5. Thanks to everyone for submitting bug reports and actively interacting with the team on various social platforms, especially the 40 external contributors in the Android community, we are very grateful for their enthusiastic contributions, helping the team submit and resolve significant quality issues in Android Studio 3.5. Although the release of the stable version of Android Studio 3.5 is a milestone for us, symbolizing the hard work the team has put into improving the quality of the IDE, our quality tuning work will not stop with Project Marble. We hope that every developer who downloads and uses Android Studio 3.5 can enjoy the benefits brought by Project Marble, significantly improving the development efficiency of Android applications with high-quality products and a new architecture.
  • 40 external contributors
    https://developer.android.google.cn/studio/releases#3-5-community-contributors
  • Download
    https://developer.android.google.cn/studio/
We have introduced many quality changes in Android Studio 3.5, please refer to《Android Studio 3.5 Beta Released》or Android Studio Release Notes for the complete change list. Of course, you can also read this article or watch the video below to quickly understand some of the important changes:
  • Tencent Video Link

    https://v.qq.com/x/page/w0919w56970.html

  • Bilibili Video Link

    https://www.bilibili.com/video/av65716536/

  • 《Android Studio 3.5 Beta Released》
    https://android-developers.googleblog.com/2019/05/android-studio-35-beta.html
  • Android Studio Release Notes
    https://developer.android.google.cn/studio/releases#3-5-0

System Health

Improvements in system health during the Project Marble plan include: memory performance, input and UI freezing, build speed, CPU usage, and I/O performance. We designed new monitoring mechanisms for these five points to more accurately identify problems during development. Additionally, process optimizations have allowed the team to better analyze user feedback and gain more insights from voluntarily shared statistical data and bug reports.
Although many optimizations in system health may not be well-known, there are still several noticeable changes, including:

Automatically Recommended Memory Settings

In Android Studio 3.5, the IDE will recognize when an application project needs more RAM on machines with higher RAM capacity and notify developers to increase the memory heap size; alternatively, you can adjust the settings yourself under Appearance & Behavior → Memory Settings.
Android Studio 3.5: Steady Progress on Project Marble

Memory Settings

UI Freezing

During the development of the Project Marble plan, we discovered from product analysis data that the XML code editing speed in the IDE was noticeably slow. Based on this data point, we optimized XML input, resulting in a significant performance improvement in Android Studio 3.5. From the following two images, you can see that due to the improvement in input latency, the speed of using XML to edit data binding expressions has notably increased.

Android Studio 3.5: Steady Progress on Project Marble

Before Improvement: Editing Code in Android Studio 3.4
Android Studio 3.5: Steady Progress on Project Marble
After Improvement: Editing Code in Android Studio 3.5

Build Speed

To improve the build speed of Android Studio 3.5, we implemented many measures, the most important of which was adding incremental build support for top-level annotation processors, including Glide, AndroidX data binding, Dagger, Realm, and Kotlin (KAPT). Incremental support can significantly improve build speed. For more information, please read 《Speeding Up Build in Android Studio》.
  • Top-level Annotation Processors
    https://developer.android.google.cn/studio/build/optimize-your-build.html#annotation_processors

Disk I/O File Access Speed

Many users of Android Studio are using Microsoft’s Windows system. We found that compared to other platforms, disk I/O file access on Windows takes significantly longer. After deeply analyzing the data, we discovered that some antivirus programs, under default settings, did not exclude the Android Studio build output folder from scanning. In Android Studio 3.5, once the system detects this situation, Studio will guide you through optimal settings via a pop-up.
Android Studio 3.5: Steady Progress on Project Marble
System Health Notification – Antivirus Check

Feature Optimization

In addition to improving system health, we also re-examined some key user flows, fixed some bugs and several issues leading to poor user experiences, covering areas such as data binding, layout, Chrome OS support, and project upgrades, with the application deployment flow being a key improvement.

Apply Changes

During the Project Marble plan, we removed Instant Run, and then in Android Studio 3.5, we rebuilt and implemented a more practical alternative, namely Apply Changes. Apply Changes uses platform-specific APIs in Android Oreo and above to ensure reliable and consistent system behavior. Unlike the mechanism of Instant Run, changing system configurations does not rewrite your APK file. To support this change, we restructured the entire deployment pipeline to enhance deployment speed; at the same time, we also fine-tuned the run and deploy buttons in the toolbar, hoping to provide you with a more streamlined development experience.
Android Studio 3.5: Steady Progress on Project Marble

Apply Changes Button

Android Studio 3.5: Steady Progress on Project Marble

Application Deployment User Flow

  • Apply Changes
    https://developer.android.google.cn/studio/run#apply-changes
To summarize, Android Studio 3.5 fixed hundreds of bugs and introduced several key changes in the following core areas:

System Health

  • Memory Settings
  • Memory Usage Reports
  • Reduced Exceptions
  • UI Freezing
  • Build Speed
  • IDE Speed
  • Lint Code Analysis
  • I/O File Access
  • Emulator CPU Usage

Feature Optimization

  • Apply Changes
  • Gradle Sync
  • Project Updates
  • Layout Editor
  • Data Binding
  • Application Deployment
  • C++ Improvements
  • IntelliJ 2019 Platform Upgrade
  • Dynamic Feature Support for Conditional Delivery
  • Emulator Support for Foldable Devices and Google Pixel Devices
  • Chrome OS Support
For more content, please refer to Android Studio Release Notes, or read the following in-depth learning columns related to Project Marble or watch the Google I/O special session:
  • Project Marble: Apply Changes

    https://medium.com/androiddevelopers/android-studio-project-marble-apply-changes-e3048662e8cd

  • Speeding Up Build in Android Studio

    https://medium.com/androiddevelopers/improving-build-speed-in-android-studio-3e1425274837

  • Android Emulator: Improvements in Project Marble

    https://medium.com/androiddevelopers/android-emulator-project-marble-improvements-1175a934941e

  • Android Studio Project Marble: Lint Performance

    https://medium.com/androiddevelopers/android-studio-project-marble-lint-performance-8baedbff2521

  • Android Studio Project Marble: Layout Editor

    https://medium.com/androiddevelopers/android-studio-project-marble-layout-editor-608b6704957a

  • Google I/O: Marble Project – What Updates Are There for Android Development Tools?

    https://www.youtube.com/watch?v=8rfvfojtRss

  • Android Studio Release Notes

    https://developer.android.google.cn/studio/releases#3-5-0

Voluntary Data Sharing and Feedback

We determine what content in Android Studio is suitable for the Project Marble plan based on feedback and metric data submitted by developers and decide on specific optimization projects and implementation methods. Developers can voluntarily check data sharing in Android Studio, and the collected data will help the team determine if the product has issues affecting all users, and then adjust the order of feature development work based on this, prioritizing the most troublesome issues for users. To gain optimal insights, we integrated various feedback channels into the product, with metric data sharing being one of the basic feedback tools, which you can enable in Android Studio via Preferences / Settings → Appearance & Behavior → Data Sharing.

Android Studio 3.5: Steady Progress on Project Marble

IDE Data Sharing

Not sure if you’ve noticed the user mood icon at the bottom right of the IDE this year. Android Studio uses this small mood icon to understand user experiences and gather feedback related to actual use cases. This is the fastest way for users to submit bug reports to the team.

Android Studio 3.5: Steady Progress on Project Marble

IDE User Feedback

Experience Now

Download

Please go to the download page to get Android Studio 3.5. If you are currently using an older version of Android Studio, you can simply upgrade.
  • Download Page
    https://developer.android.google.cn/studio
To use the above Android Emulator features, please ensure you are running Android Emulator v29.1.9 or higher downloaded through the Android Studio SDK Manager.
Thank you all for continuing to provide feedback, sharing your thoughts, suggestions, and opinions, or any new features you hope to see. If you encounter any bugs or issues, please submit a bug report or leave a message in the comments.
  • Submit Bug Report
    https://source.android.google.cn/source/report-bugs#developer-tools

Android Studio 3.5: Steady Progress on Project Marble Click the screen to the end | Read Original Text | Submit Product Feedback Suggestions

Android Studio 3.5: Steady Progress on Project Marble

Android Studio 3.5: Steady Progress on Project Marble

Want to learn more about Android?

  • Send the keyword “Android” on the official account homepage to get related historical technical articles;

  • Have more questions? Feel free to click the menu “Contact Us” to report any issues you encounter during development.

Recommended Reading

Android Studio 3.5: Steady Progress on Project Marble

Android Studio 3.5: Steady Progress on Project Marble

Android Studio 3.5: Steady Progress on Project Marble

Android Studio 3.5: Steady Progress on Project Marble

Leave a Comment

×