BT

Android Studioが新しいD8コンパイラにスイッチ

| 作者: Sergio De Simone フォローする 17 人のフォロワー , 翻訳者 h_yoshida _ フォローする 1 人のフォロワー 投稿日 2018年5月7日. 推定読書時間: 2 分 |

原文(投稿日:2018/04/09)へのリンク

読者の皆様へ: 皆様のご要望にお応えするべく、ノイズを削減する機能セットを開発しました。皆様が関心をお持ちのトピックを、EメールとWeb通知で受け取ることができます。新機能をぜひお試しください。

先日リリースされたAndroid Studio 3.1では、コンパイル処理が改良および高速化されたDEXコンパイラが新たに採用されている、とGoogleのソフトウェアエンジニアであるjeffrey van Gogh氏が記している。

高速化に加えて、D8と呼ばれる新コンパイラは、従来のコンパイラであるDXに比較して、同等あるいはそれ以上の実行時パフォーマンスを発揮する。

Androidにおける.classバイトコードから.dexバイトコードへの変換は、Androidアプリ構築における重要なステップであり、ビルド時間およびアプリのパフォーマンスに直接影響する。独自のベンチマークプロジェクトを使ってGoogleが両方のコンパイル時間を測定した結果では、20パーセント速く、しかもサイズが数パーセント小さな.dex ファイルが生成された。ただし、この結果は単一のベンチマークに基づいたものであるため、割り引いて捉える必要がある。実際に一部のユーザは、Android Studio 3.0からD8を使用することでコンパイル時間が長くなったと報告している

D8を使用することによるメリットのひとつがデシュガー(desugaring)、すなわち、lambdaなどJava 8のみで使用可能な機能を、Java 7の機能に変換できることである。デシュガーステップをD8に統合したことは、Java 8フォーマットを使用する.classバイトコードの読み書きを行うツールの開発者すべてに影響する。gradleファイルにプロパティを設定すれば、デシュガーがJavaコンパイル後に実行され、.classバイトコードがJava 7フォーマットに従うという、以前の動作に戻すことができる。

android.enableD8.desugaring = true

D8を使用して全体的な問題が発生した場合は、以下に示すように、gradle.propertiesの設定を変えることで、DXに戻すことも可能だ。

android.enableD8=false

D8がAndroid Studioのデフォルトコンパイラになったという事実は、開発者がアプリの移行を急がなければならないという意味ではない。事実として、D8がどのユーザに対してもレグレッションを起こさないという十分な確信をGoogleが得るまでは、旧DXコンパイラも引き続き残される予定である。これはつまり、Googleが少なくとも今後6ヶ月間、DXで見つかったバグの修正を続けるという意味だ。Googleのエンジニア達は今回の第1段階において、マイグレーション計画を実施する上で致命的になる可能性のある問題を見つけるために、D8のバグトラッカを慎重にモニタする予定である。大規模なレグレッションのない状況が6ヶ月間続いた後、開発チームがマイグレーションに十分な時間を確保できるように、少なくとも1年間はDXが利用可能な状態を維持する。その後DXは、Android Studioの旧バージョンでのみ利用可能となる。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT