BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース GoogleがAndoirdにKotlin 1.3サポートとフォルダブルデバイス対応を追加

GoogleがAndoirdにKotlin 1.3サポートとフォルダブルデバイス対応を追加

ブックマーク

原文(投稿日:2018/11/16)へのリンク

GoogleがAndroid Dev Summitで、AndroidでサポートされるKotlin 1.3の新機能、フォルダブルフォン(折りたたみ式電話)のサポート、In-app Update API、Android Studioの改善など、一連のアップデートを発表した

Kotlin

Kotlin 1.3では、一連の新しい言語機能、API、バグ修正、パフォーマンス改善などが提供されている。これらの新機能は、Android Jetpackの一部として、 KTX拡張機能 (KTXは、Kotlin用にJetpackとAndroidプラットフォームAPIを最適化したもの)を通じて、Kotlin固有のAPIに統合される。

  • インラインクラスは、ボックス化されていなければ割り当てられないような型の定義を可能にする、実験的な機能である。
  • Uint、UByte、ULongなどの無符合数値型がKotlin標準ライブラリの一部になった。これら新しい型はインラインクラスを使って構築されている。
  • これまでは AndroidまたはJVM用に記述されていたマルチプラットフォームコードが、JavaScriptあるいはネイティブを対象にできるようになった。これにより、さらに多くのプラットフォーム上で、コードベースを部分的に再利用することができるようになる。
  • コルーチンのサポートが安定版になった。コルーチンは非同期で非ブロッキングなプログラムを設計する上で、強力なパラダイムを提供する。

Android Studio

Android Studio 3.3ベータ版には、一連の機能、改善、バグフィックスが提供されている。プロファイラのメモリアロケーションでは、ライブメモリアロケーショントラッキングのモードが次の中から選択できるようになった。

  • Full: すべてのオブジェクトメモリ割り当てをキャプチャする。
  • Sampled: オブジェクトメモリ割り当ての定期的なサンプルをキャプチャする。これは既定動作であり、プロファイルによるアプリのパフォーマンスへの影響が少ない。
  • Off: メモリ割り当てをオフにする。

CPUプロファイラを使用して、Javaアプリケーションが、メインUIスレッドとRenderThreadで各フレームをレンダリングするのに要する時間を調べることができる。このデータは、UIジャンクやフレームレート低下を引き起こすボトルネックを調査する上で有効である。

未使用のディレクトリを削除する、新たなダイアログが追加された。新しいメジャーバージョンのAndroid Studioが最初に実行される時、対応するインストールの見つからない旧バージョンのAndroid Studioに関連付けられたファイルを含むディレクトリを検索する。それが見つかると、ファイルをダイアログで表示して、削除を選択できるようになる。

Instant AppsをフルサポートするAndroid App Bundlesビルドのサポートが追加された。これにより、インストールされたアプリとInstant Appsの両方のエクスペリエンスを構築し、デプロイすることが可能になった。この機能を使用するには、プロジェクトの新規作成時に、“Configure your project > This project will support instant apps”のチェックボックスをチェックする必要がある。これによって、以下のプロパティがマニフェストに追加される。

<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
<dist:module dist:instant="true" />
...
</manifest>

Clang-Tidyを使った、ネイティブコードを含むプロジェクトの静的コード解析が新たにサポートされた。

ProGuardに代わってコードの縮小と難読化を行う新ツールのR8が、デフォルトで有効になった。

フォルダブルフォン

Googleは、フォルダブルフォンのAndroidサポートとして“Foldables”を発表した。フォルダブルフォンはデバイスメーカが新たに作り出した、下のイメージのように折りたたみ可能なデバイスのカテゴリである。

(android-developers.googleblog.comより引用)

Googleはこの新たなフォームファクタのために、画面連続性(screen continuity)と呼ばれるAndroidの最適化を行っている。新フォームファクタでは、アプリケーションをひとつの画面から別の画面に、自動的に移行することが可能である。例えば、折りたたんだ小さな画面でビデオをスタートして、後からデバイスを広げて画面を大きくすることができる。ユーザがフォルダブルフォンを広げると、アプリは問題なく、大きな画面にシームレスに転送される。SamsongがSamsung Developer Conference 2018でフォルダブルフォンを発表しており、来年の提供を計画している。

In-app Updates API

GoogleはInstant Appsの改善点を公開し、In-app Updates APIをローンチした。このAPIでは、2つのオプションを使用してユーザのアプリケーションを更新することができるようになる。ひとつは重要なアップデート用のフルスクリーンエクスペリエンスで、ユーザにアップデートの即時適用を強要する。もうひとつはフレキシブルアップデートで、アップデートがダウンロードされている間も、ユーザはアプリを使い続けることができる。Googleによると、このAPIは数社のGoogleパートナとテストを行なっており、できる限り早く全開発者向けにリリースする予定である。

(android-developers.googleblog.comより引用)

Android Jetpack

Android Jetpackは、アーキテクチャコンポーネントライブラリを更新するためのものだ。ナビゲーションの実装を簡略化するために設計されたNavigationが、Googleによれば、11月にベータテストを開始する予定である。

Googleによると、ベータテストを開始する予定のもうひとつのコンポーネントがWorkManagerである。これはジョブやSyncAdaptersなどに代わって制約ベースのバックグラウンドジョブ用のソリューションを提供するライブラリで、Google Play Serviceの有無に関わらず動作可能な非同期タスクの指定を容易にすることを意図した、シンプルかつ現代的なAPIを提供する。

Sliceは、Google Searchアプリ内やGoogle Assistantなどの他の場所から、アプリ上にリッチで動的、インタラクティブなコンテントを表示することの可能なUIテンプレートで、公開のSearch試験に移行されている。

詳細はandroid-developers.googleblog.comで確認できる。またGoogleでは、アプリをフォルダブルフォンに対応させたいユーザ向けに、一連のレコメンデーションも提供している。

Android Studioをベータチャネルのアップデートを受け取るように設定していれば、“Help > Check for Updates” (Macでは“Android Studio > Check for Updates”) を選択することでアップデートが可能だ。こちらからダウンロードすることもできる。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT