ちょっと言及 Android Studio 2.3 RC1

はじめに

すぐ正式版がでそうだけど、日々の覚書メモ的なやつ書いておきます

リリースノート的な話

言及されているバグ修正は3つっぽい。


暗黙かわからないけど、Beta4からの挙動差

InstantRun

  • OOMエラーが減った。でもまだたまに起きます
    • Betaでできていた HotSwapが出来なくなった
    • 戻したのかな?、それとも環境チェックを入れた?
  • でも変更してもちゃんと認識して差分ビルドしてくれないことが多々
    • そのたびにCleanビルドしているのでInstantRunの意味が無いような。。

レイアウトプレビューのtoolsの追加属性の話

正直使いどころがないですね。。

  • ViewPagerとか使う場合
    • プログラムからレイアウト指定するわけですし
  • MapFragment
    • プレビュー用のレイアウトがない
    • FragmentがonRestoreされるタイミングでクラッシュしたりする
    • =>プログラムで動的にセットしましょう
    • =>え?それだとlayoutPreviewで見れる意味自体殆どないよね?

だしな。。

参考情報

古いgradle pluginを指定しているプロジェクト

業務で保守をやっている以上、

gradle plugin 2.1、2.2 でビルドを通しているプロジェクトも有るわけですが*1

  • 正直ビルドがおかしい。
  • Terminalから ./gradlew assembleDebug すると正常にバイナリが作れる

ココらへんは多分

  • 2.3-Betaの途中から Gradle 3.3以上のruntimeになったから GradleDaemonがぶつかってる?

pluginの中でも、G様は過去依存捨てまくりなので正直厳しいですね。。

data-binding

  • よく補完情報が動かない
  • 動いたと思ったらASごと固まる

対策として

  • includeレイアウトを多用して、レイアウトを分ける
    • ただこの場合、補完情報が良く動かない

ConstantLayout

ConstantLayoutのリアルタイム編集プレビュー

  • AS 2.3 RC1のウリ?
  • 表示パーツが増えるとレイアウトプレビューでCPU分回り、ASごと固まるのは変わらずなので、パーツ増えるとあれ無理では?
  • 結局 InstantRunで実機確認しろや! の路線になる気も

正式版のナンバーリン

一応正式版が出たみたいだけど

バージョン指定しないとうまく落ちてこないみたい

正直職場でも

  • VSCode辺りでやりたいみたいな事を仰ってる方がいますね・・。
  • Sublimeも補完情報は微妙。
  • 正直な所コード補完が欲しいだけなのでIDEA(AS)の補完情報さえよめれば

そういえば Android SDKのリリースページ

強引に Android Studioのページにリダイレクトされるのは正直どうなの? とか思います

の用途で、Android開発者じゃない人が使う可能性あるんじゃないかな・・。

しかもASをまるっと入れた人は、逆にその手の目的ですぐには結局使えないような。。

ADT のpluginも。。

公式のページからすでに消されています・・・

https://dl.google.com/android/ADT-23.0.7.zip

と直でおとすしかないかなと。一応は有志様による下記のプロジェクトも動いているようですね


ちなみに

の本読みました。

このシリーズは基本的に

「オラすげーもん作ったぞ解説してやるぞ!」「へー」

な感じなわけですが、この本読んだからいいアプリが作れるか? へ?という状態かと思います。

一般人には雑学本ですね。OS Modとか作るレベルの人にはいい本かもしれない。。

上記の本で指摘されていたこと

自分の簡単にわかるレベルのお話だと*2

  • HandlerはLooperにキューを詰むので、delayで指定しても正確に再生できません

    • => じゃあ具体的に対策はどうするの?
  • レイアウトが深いと高負荷になります

    • => じゃあ具体的に対策はどうするの?

な感じでした。。

  • ListView => RecyclerView
    • 中のアイテムのレイアウトが潰れやすくなる
    • =>開発者が頑張れ!

の根本解決がない。。

iOSのAutoLayoutではそんなこと起きないみたいなお話を聞くしな・・

「どうしてこうなった!」 とツッコミを入れたい感じだったりも

*1:上げるとビルドが通らなくなる

*2:低レイヤーのアセンブルの話とかは正直難しい