Navigation Editor Highlights Android Studio 3.3 Update

Google announced Android Studio 3.3 with a focus on "refinement and quality" over new features, though a host of those have been introduced also.

"Android Studio 3.3 release introduces Navigation editor, full support of Instant Apps in App bundle, as well as build system updates such as lazy task configuration, better debug info when using obsolete APIs, improved incremental Java compilation when using annotation processors, and a preview of the new R8 code shrinker," Google said. "We've also added more granularity in the profiler options and added slow frame highlighting to help you debug quicker."

Here's a closer look at some of those new features, as described by Yacine Rezgui in a video.

  • Navigation editor: "The navigation editor allows you to create destinations, define parameters and specify transition between them. It's a big improvement to be able to see your whole application flow. If you're using the navigation architecture, you can link them with drag-and-drop and specify the type of transition for each user action."
    The Navigation Editor Preview
    [Click on image for larger view.] The Navigation Editor Preview (source: Google)
  • Profiler tracking options: "The profiler now lets you select the level of data collection for live memory allocation on devices running API 26 or higher. You can choose between the full or sample mode. This can improve your app performance while profiling, which helps you to get closer to a real-life user experience. The CPU profiler lets you see how long each frame takes to render on the UI thread. The profiler highlights frames that take more than 16 milliseconds, letting you easily identify when your UI is not running smoothly."
  • Instant apps: "Instant apps are now fully supported with our bundles. You can create an instant app and an installed app from the same project. It makes it super easy to split your app and reduce its size for a better user experience. To deploy your app as an instant app, edit your run configuration and enable the option."
  • Better debug info when using obsolete APIs: "If your application is using obsolete APIs, Android Studio now provides more detailed debugging information on which part of your code is calling them. You need to enable this option by adding this line of code to a Gradle file: android.debug.obsoleteApi = true."
  • Improved incremental Java compilation: "Build time reduction is a continued focus for us. We have improved incremental Java compilation when using annotation processors."
  • Improvements to the build system: "If your project is configured with multiple build variants the IDE will prompt you to sync only the current build, saving you time. You can enable it manually in the experimental menu."
  • R8 code shrinker: "We also included a preview of a code shrinker, R8, which is faster than ProGuard. It doesn't even require any code changes. Give it a try by adding this line of code to your Gradle file: android.enableR8 = true."
  • Lazy task configuration: "Android Gradle plugin now uses a lazy task configuration API. This avoids the cost of creating a news tasks during Gradle configuration phase."

All of the above are detailed in an announcement post published yesterday (Jan. 14), which also describes other features such as:

  • Develop
    • IntelliJ 2018.2.2 platform update
    • Kotlin 1.3.11 update
    • Clang-Tidy support for C++
    • New Project Wizard update
    • Delete unused IDE directories
    • IDE user feedback
  • Test
    • Multiple Emulator AVD instance launch
    • Android 9 Pie - Emulator System Images
    • Emulator snapshot save speed improvement
  • Optimize
    • Profiler performance improvements
    • Memory Profiler: Allocation tracking options
    • Network Profiler: Formatted text
    • CPU Profiler: Frame rendering data

Go here to see the announcement post and go here to get the release notes for Android Studio 3.3, which can be downloaded here. Google also provided release notes for the Android Gradle plugin and the Android Emulator.

About the Author

David Ramel is an editor and writer for Converge360.