The biggest release in the past couple of weeks was the much-anticipated Android Studio 3.5, which has been in beta since Google I/O. But there were other things happening in the Android universe recently that are also worth checking out.
Android Studio 3.5: “Project Marble”
A good IDE is like a good friend; someone that you enjoy spending all of your time with who makes each day more enjoyable. But when your IDE isn’t working well enough for you, it’s like having to spend every day with that really mean kid from next door because your parents are friends and they said you had to.
That’s why we’re happy to have released Android Studio 3.5.
In previous releases, we’d talk about all of the fancy new features that you could now play with in Android Studio. But this release of Android Studio was different. The team heard your feedback that some of the fundamentals simply weren’t working well enough for you, so they set aside all of the cool new features they were working on, rolled up their sleeves (which is difficult, since most of the team wears t-shirts), and went into bug-fixing mode.
There were tons of important fixes along the way, including:
- More than 50 memory leak fixes
- 21 IDE hang fixes*
- 3x CPU Usage Emulator improvement (something near and dear to my heart, as I’ve often seen my CPU pegged by an inactive emulator running in the background)
- Windows I/O Improvements (Note: “Windows I/O” is not the Microsoft equivalent of “Google I/O”)
- 600+ bug fixes*
*(When I asked the team for some final stats on the release, they told me there were more than 21 IDE hangs and over 600 bugs. After some digging, I was able to determine that they meant hang/bug *fixes*. Whew.)
There release also includes a fix for this bug, which caused a hang during auto-completion during XML editing. This fix was a late addition to the list that caused the release to slip for a couple of weeks when it was clear that it was a major issue in the community. (Please do let us know when there’s a major problem. We really do listen and care and try to do the right thing, even when it causes us to slip a release at the last minute!)
Although most of the release focused purely on critical bug fixes, there were also some much-needed improvements to existing features, including Instant Run (rewritten and renamed to “Apply Changes”), Data Binding, and Annotation Processing.
If you want to read more about some of the specific improvements in the tool, people on the team posted articles about some of the improvements along the way:
The team also talked about tools improvements (along with tips on how to use the tools more effectively) at Google I/O. Check out those presentations (along with various other Android sessions) here. You can also read more about the release in Jamal’s recent article.
Finally, I should point out that we’re not done with this whole ‘quality’ thing. Although we definitely improved Android Studio significantly in 3.5 (it’s faster, smoother, and generally more reliable), we also know that it’s far from perfect. So while the team will get back to some much-needed feature work, they will also continue the work on quality. And when there’s more to report on quality improvements in future releases, you’ll probably read about it here.
I/O session application source code
We recently released the source code for the Google I/O 2019 Android application. You know the one: it’s that app that you used to see what sessions were happening when, flag the ones you wanted to go to, realizes that many were at the same time so you’d need to catch some of them on YouTube later (or live-stream them while attending another talk), and then ended up getting into a long conversation about feasible app architectures and optimal IDE configurations with someone in the Sandbox instead and completely blowing your schedule and missed everything? That application.
The I/O app (what we internally, and affectionately, call “IO Sched”) ends up being a major annual project for the Developer Relations team, as we incorporate many of the latest best practices and technologies. For example, this year’s app included gestural navigation, dark theme, and use of both the Navigation and Room architecture components.
The intention is for developers to be able to use the resulting code to learn from, and to develop their own applications (hopefully broadening slightly from the I/O Schedule genre). So isn’t it handy that we published the code?
You can read more about the application on Takeshi Hagikura’s article on the Android Developers Blog.
Android Motion Sample
Animation is so important for helping users understand what’s happening in an application. But achieving the right animation effect can be… tricky.
Yuichi Araki wrote a new Android Motion sample to show how to achieve different animation effects. There are various demos in the sample which illustrate transitions, shared-element transitions, physics animations, and more. These approaches and demo code should make it easier to implement Material Motion guidelines.
Like most of the Android samples, Android Motion is available directly in the IDE. Just click on File -> New -> Import Sample… and then find it in the Animation category.
Speaking of Animations…
Nick Butcher just published Motional Intelligence: Build smarter animations, which explains, in article form, a talk that he did at Google I/O this year. How should developers create animations in a reactive-programming world? How should we handle things correctly to create smooth, continuous, and reentrant motion?
That’s it for this time. Go download Android Studio 3.5! Go play with the I/O 2019 app! Go write some material and reactive animations! And come back here soon for the next update from the Android developer universe.