LoginSignup
1
1

More than 5 years have passed since last update.

Google Developers Summit : Android 参加メモ

Last updated at Posted at 2016-04-26

【イベント名】 Google Developers Summit : Android
【日程】 2016 年 4 月 25 日(月) 13:30 - 17:30 (開場: 13:00)
【場所】コクヨホール、東京都港区港南 1 丁目 8 番 35 号

参加メモです。
後日資料が公開されたらあらためて加筆修正します。

資料

AndroidStudio 2.0がリリースされました

  • 2.1は現在Preview版です。(追記:2016.05.09更新チェックしたらStableに)
  • 毎月1回のペースで評価版を出します。早めのフィードバックを更新に活かしたいです。
  • 慎重な方はUpdateが頻繁なのでバージョンごとにファイル名を分けて共存もできます。
  • targetSDKとBuildToolsのバージョンは切り離して考えておk。BuildToolsは基本最新

2.0どうですか?

  • what's new android studio 2.0 に短くまとまってる https://www.youtube.com/watch?v=xxx3Fn7EowU
  • Dalvik Executable(DEX)改善でビルド高速に。(Dalvik VM上で動作するバイナリ・プログラム)
  • これまではProGuardでShrinkしてたけど独立させました。

ProGuardの置き換えではないのでProGuardはそのまま使ってね。
ProGuardは一旦、単一のjarを作るので遅かった。

  • ADB(Android Debug Bridge)高速化

push,pullが5倍速
接続中デバイスが使うリソースだけ自動で選んで転送(xxdphとか)従来はぜんぶ

  • Instant Run(更新と実行のペア?)

Windows環境や、プロジェクト構成によってはまだ動かない
仕組みそのものについて深く知りたい場合はDroidKaigiのセッションを見てね。

4段階あります
        HotSwap
            実行を維持したまま実行
        WarmSwap
            Activityは再起動されるけどProcessはそのまま
        ColdSwap
            Process再起動
        NewBuild & Deploy
            アプリ再インストール(従来はこの方法のみだった)
  • GPU Profiler:各フレームの状態をグラフィカルに確認できます
  • Intellij 15ベースに
  • IntentFilterの定義
  • ディープリンクテストが簡単に

2.1は?

  • N Previewをサポートします。
  • Java8ランタイムサポート(一部です)
  • N自体は新コンパイラJackでコンパイルされている

Android N

  • Android N Preview4?5?まではβで、APIかわるかも。

マルチウィンドウ

  • Picture in Picture(TV限定)
  • 二分割(左右または上下で)
  • 自由形式(MacやWindowsPCと同じような。現在は試せません)
  • フォーカスの問題がでてきます。(Active、非Active)
    onResume、onPauseが呼ばれます。
    Activityが重なっている状態だと思ってください。

    onPauseで動画を停止するとここで問題がでます。
    onStopまで更新を続けてください。動画に限らずですが。
  • ライフサイクルの問題は回転時と同じです。実装もそのように。
  • マニフェストへの記載でON/OFF切り替えます(デフォルトON!)
  • ActivityのminimalWidth、minimalHeight属性を使うと最低サイズを指定できます。
  • Activity,Fragmentに新しいメソッドが増えます。isInMultiWindowMode()とか
  • アプリ側からはマルチウィンドウを制御できません。必ずナビゲーションバー右下、四角ボタンからのみです。

通知

  • 通知領域上から直接返信(入力)できるように
  • marshmallowでもやってたものと似てます。
  • また、同じ種類の通知をグループ化します。バンバン出せそう?
  • Notification.Builder#setContentは古くなりました。

ラムダ

これを

button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        say("Hi!");
    }
});

こう書けるけど

button.setOnClickListener(v -> say("Hi!"));

見た目に惑わされない。実際もやっぱりnewされるからGCとか要注意

クイック設定

OSで可能に。よく使うものを並べましょう
APIは用意されていません。現状使うだけです。

特定ディレクトリへの権限要求

marshmallowのRuntimePermissionみたいなものです。

Direct Boot

端末が再起動してもちゃんとアラームなる、とか(悲劇回避)

DOZE?

端末を休眠状態にしてネットワークもOFFに。。。
これの軽い状態版
これまではポケット内だと動いているのでDOZEにはならなかった
今回のは軽いDOZEなので動いてもDOZE状態になります。
DOZEが2段階になりました!バッテリー長持ち
開発者は特に意識しませんが
ジョブスケジューラーを使ってコントロールしてください。

Project Svelt

電池長持ちプロジェクト

ACTION_NEW_PICTURE, ACTION_NEW_VIDEO
これらは廃止します。
IntentFilterに書いてあるアプリ沢山いると
起動して糸冬了して。。。を繰り返して非効率なので
但し、動的なFilterで捕捉できます。
マニフェストだけ無視されます。

JobSchedulerでコントロールできます。(詳細不明)

設定ー>ユーザー補助ー>表示サイズ

dpとpxの比率が変わります。意識しましょう。
やることはマルチウィンドウ対応と基本同じです。
比率で実装しましょう。

言語設定

これまでは1つだけの選択でしたが、複数いけます。
Chromeで英語ページみてると日本語翻訳する?とかこれまできかれてました。
開発者の対応はほとんど不要です。
翻訳機能を有する場合は、もしかしたら意識するかも。
言語リストが取得できるので。

ゲーム

  • メモリ1GB以上搭載機種がほとんどの日本ですが、テクスチャ圧縮など工夫すると諸外国でいいことありそう。
  • libpng,libcryptなどの/system/lib以下の機能を勝手に使えなくなりました
  • NDKr11c(あーるいれぶんしー)からSDKマネージャーからダウンロード可能に(これまでは個別zip)
  • NDKr12BetaからVulkanサポート
  • GameID

以前はGoogle+前提だったけど、縛りなくしました。
数MBならクラウド上にデータ置けます。
ゲーム以外でも使えるので見るといいかも。

  • ビデオ録画、Share(Twitchと似たようなの)

Vulkan

  • OpenGLネクスト!ハード・ソフトベンダーが協力して新しいエンジンを開発
  • アイコンが微妙なのはいろんな人達の思いが(ry
  • 負荷が少ないのが特徴
  • OpenGLはCPUでコマンド生成して実行してた。ここがネック
  • Vulkanはモバイルハードウェアにある程度特化してる
  • CPU負荷をとにかく下げました
  • 現時点で5〜6%くらいのハードが動作環境として市場にあるので当分はOpenGLかな

所感

  • 名刺を忘れたサザエさん。手書きでゴメンナサイ
  • 自分でも驚いたけど最初から最後まで集中力が途切れなかった。プレゼンお上手
  • 挙手からの質問だと億劫だけど、sli.doでの質問は70件オーバー!すべてにお応えいただきました。
  • KotlinはじめたばかりでSwiftの話が出たときはどうしようかと思ったけどガセだったw
  • 今後も継続して参加します!
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1