Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What is going on with this article?
@keidroid

Android Studio3.5の変更点をもっと詳しく知りたい..!

More than 1 year has passed since last update.

はじめに

2019年8月21日(日本時間)にAndroid Studio3.5がリリースされました!
今回のアップデートはとてもアツい更新でした。

Impressやマイナビが次のようにニュースにしていました。

「Android Studio 3.5」が正式リリース ~「Chrome OS 75」以降を新たに公式サポート
https://forest.watch.impress.co.jp/docs/news/1202489.html

Android Studio 3.5登場 - プロジェクトマーブルの成果あり
https://news.mynavi.jp/article/20190823-881338/

つまりニュースを見ると、Android Studio 3.5 は『プロジェクトマーブル』の成果で、
『メモリ設定』や『インクリメンタル・ビルド』が改善されて、
『IntelliJ 2019.1』ベースになり『Chrome OS 75』に対応されたことがよくわかります..

_人人人人人人人人人人_
> よくわからない! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

公式記事を読む

Android Studio release notes 3.5 (August 2019)
https://developer.android.com/studio/releases#3-5-0

Android Studio 3.5: Project Marble goes into stable
https://android-developers.googleblog.com/2019/08/android-studio-35-project-marble-goes.html

公式記事は上記です。ニュース記事をディスっているわけではなく、
更新内容がかなり濃く、量も多いので理解するのは至難の業です。
まとめたので次へ進んでもよいし、上記記事をよく読んで引き返してもよい。

↓次へ

不明点まとめてみた

自分がわからなかったところを調べつつまとめたのが以下となります。

Project Marbleって?

個人的に一番良くわからなかったのが"Project Marble"でした。
調べると"Project Marble"という言葉が出たのはAndroid Studio 3.3リリースからです。

Android Studio 3.3
https://android-developers.googleblog.com/2019/01/android-studio-33.html

記事を一部訳すと以下となります。

Project Marbleは、Android Studioチームが統合開発環境(IDE)の基本的な機能とフローを強固なものにし、日々のアプリ開発で重要なユーザー向け機能の洗練および洗練することに焦点を当てています。
ワークフロー
Project Marbleでは、クラッシュ、ハング、メモリリーク、ユーザーに影響を与えるバグの数を減らすことを特に検討しています。また、これらの問題の発生を防ぐために、測定インフラストラクチャにも投資しています。

特定の機能改善と言うよりは重要な箇所の修正・改善を行うプロジェクトで、
不具合修正や不具合防止の測定に力をいれているようです。

Project Marbleの成果は、以下Google Developer Japanの記事で日本語でまとめられていました。

Android Studio 3.5 ベータ版
https://developers-jp.googleblog.com/2019/06/android-studio-35-beta.html

Android Studio 3.5では以下の修正が行われており、
どれも開発効率の向上に直結するうれしい改善ばかりです。

  • メモリ使用量レポート機能の追加
  • 多端末での実行機能
  • Apply Changed機能
  • ビルドエラー出力の改善
  • Lintのメモリリーク修正よりパフォーマンスが2倍近く向上
  • XMLコード編集の最適化
  • エミュレータのバックグラウンドでのCPU使用量が3分の1以下
  • レイアウトエディタの操作性改善

原文記事はMediumで「project-marble」タグでまとめられています。
https://medium.com/tag/project-marble/archive

インクリメンタルビルドとは?

Android Studio のビルドを高速化する
https://developers-jp.googleblog.com/2019/05/android-studio.html

インクリメンタルビルドは、更新のあるファイルのみビルド対象にするように最適化されたビルドです。
Android Studioでは3.3以降からアノテーション処理もインクリメンタルビルドに対応(incremental annotation processors)し、
3.5ではData Bindingも対応しました。

Use incremental annotation processors
https://developer.android.com/studio/build/optimize-your-build.html#annotation_processors
※日本語版は最新ドキュメントではありません。英語版を開いてください。

現状ではAndroid Gradle plugin 3.3.0+、Gradle 4.10.1+ (ただしGradle 5.1を除く)である必要があります。
以下のincremental annotation processorsに対応しています。

  • Data Binding Library with Android Gradle plugin 3.5.0+
  • Lombok 1.16.22+
  • Glide 4.9.0+
  • Dagger 2.18+
  • Auto Service and Auto Value 1.6.3+
  • kapt 1.3.30+

以下YouTubeの解説動画によると、
DataBindingとkaptのincremental対応はgradle.propertiesに以下の設定が必要です。

What’s New in Android Studio 3.5
https://www.youtube.com/watch?v=OJ3K90FpQ6A

スクリーンショット 2019-08-24 4.24.49.png

gradle.properties
# Data Binding
android.databinding.incremental=true 
# kapt
kapt.incremental.apt=true

また、最適化をサポートしていないアノテーションプロセッサを使用する必要がある場合は、
gradle.propertiesに以下のフラグを追加します。

gradle.properties
android.enableSeparateAnnotationProcessing = true

メモリ設定の改善とは?

Maximum heap size
https://developer.android.com/studio/intro/studio-config#adjusting_heap_size
※日本語版は最新ドキュメントではありません。英語版を開いてください。

Android Studioのデフォルトの最大ヒープメモリサイズは1280MBです。
今までは studio.vmoptions ファイルに -Xmx2g など指定して最大ヒープメモリサイズ変更を行いましたが、
(64bitでRAMが5GB以上ある場合に限り)設定画面からヒープ変更を行えるようになりました。
起動時に推奨メモリ量を表示したり、Kotlinのヒープ、Gradleのヒープなど詳細を設定できるようになりました。

memory-settings.png

IntelliJ IDEA 2019.1がベースとは?

IntelliJ IDEA 2019.1の詳細は以下Jetbrainsのリリースノートにあります。

IntelliJ IDEA 2019.1がリリースされました! テーマのカスタマイズ、Java 12のSwitch式、Dockerコンテナ内でのデバッグなど
https://blog.jetbrains.com/jp/2019/04/05/1898

Android Studio 3.5はIntelliJ IDEA 2019.1ベースとなり、2018.3.5, 2018.3.6の修正も含まれています。
2019.1での大きな変更はテーマの変更で、Appearanceの設定項目が増えました。
KotlinやJavaのハイライト強化, サジェスト強化などもあります。

Chrome OS 75?

Chromebook向けAndroid Studioが公式サポートとなりました。
推奨端末はダウンロードページで挙げられています。

Acer: Chromebook 13/Spin 13, Chromebox CXI3
Lenovo: Yoga C630 Chromebook
HP: Chromebook x360 14, Chromebox G2
Dell: Inspiron Chromebook 14
ASUS: Chromebox 3
ViewSonic: NMP660 Chromebox
CTL: Chromebox CBx1

感想

実は前から
「1日エミュレータつけっぱなしにするとMacの調子がおかしくなるような気がする..」
「DataBindingの挙動がなんかおかしい気がする..」
など思っており、モヤモヤしていたところがProject Marbleで解決され、
さらにその工程がblog記事で事細かに解説しているのがありがたいです。
Lint速度2倍はすごい!

Android Studio3.5はエミュレータ含めかなりサクサク動作する(気がする)のでアップデートおすすめです。

追記: Android Studio 3.5の既知の不具合

8/24現在、xmlをフォーマットすると誤った状態になる不具合があると公式で発表がありました。

Known Issues with Android Studio: Broken XML code style
https://developer.android.com/studio/known-issues#xml-code-style

以下の方法で回避可能とのこと。

  1. Open the Settings window by clicking File > Settings (on macOS, Android Studio > Preferences).
  2. In the left panel, click Editor > Code Style > XML.
  3. Near the top-right corner of the right panel, select Set from > Predefined Style > Android
  4. Click OK.
7
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
keidroid
動画プレイヤー開発、海外向けゲーム開発を経て、最近はAndroid/iOS/Flutter/Unityでモバイルアプリ開発しています。YouTubeにはんぶん移行中です。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
7
Help us understand the problem. What is going on with this article?