ちょっと言及 Android Studio 2.3 RC1
- はじめに
- リリースノート的な話
- 暗黙かわからないけど、Beta4からの挙動差
- InstantRun
- レイアウトプレビューのtoolsの追加属性の話
- 古いgradle pluginを指定しているプロジェクト
- data-binding
- ConstantLayout
- 正直職場でも
- そういえば Android SDKのリリースページ
- ちなみに
はじめに
すぐ正式版がでそうだけど、日々の覚書メモ的なやつ書いておきます
リリースノート的な話
言及されているバグ修正は3つっぽい。
暗黙かわからないけど、Beta4からの挙動差
InstantRun
- OOMエラーが減った。でもまだたまに起きます
- Betaでできていた HotSwapが出来なくなった
- 戻したのかな?、それとも環境チェックを入れた?
- でも変更してもちゃんと認識して差分ビルドしてくれないことが多々
- そのたびにCleanビルドしているのでInstantRunの意味が無いような。。
レイアウトプレビューのtoolsの追加属性の話
Tip: You can use "tools:" attributes to preview a fragment's runtime layout, suppress Lint warnings and more https://t.co/KlmDpKnMt8 pic.twitter.com/Aeuvfd2mL7
— Android Studio (@androidstudio) 2017年2月9日
正直使いどころがないですね。。
- 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
ConstraintLayout beta5 で wrap_content が絶望的にぶっ壊れた件、1.0 で治ったっぽい。
— 竹内裕昭 (@takke) 2017年2月23日
ConstantLayoutのリアルタイム編集プレビュー
- AS 2.3 RC1のウリ?
- 表示パーツが増えるとレイアウトプレビューでCPU分回り、ASごと固まるのは変わらずなので、パーツ増えるとあれ無理では?
- 結局 InstantRunで実機確認しろや! の路線になる気も
正式版のナンバーリング
一応正式版が出たみたいだけど
バージョン指定しないとうまく落ちてこないみたい
新しいsdkmanagerじゃないと入れられないという認識でOKですか?
— close_yutori (@kimukou2628) 2017年2月23日
mavenの最新版バージョン判定が大文字比較だからですね。仕方ないかと
— close_yutori (@kimukou2628) 2017年2月23日
確かにナンバリングの問題ですね。展開に気がつかずbeta5使い続けてたってトラブルも起きそう。
— けいちゃ (@keicha_hrs) 2017年2月23日
正直職場でも
そういえば Android SDKのリリースページ
強引に Android Studioのページにリダイレクトされるのは正直どうなの? とか思います
一番下のtoolsのzip落としてきて、android update sdk すればいいのでは? android sdk が必須なのは OS6で端末内adbがG様により削除されたせいです<セキュリティ教科のため?
— close_yutori (@kimukou2628) 2017年2月23日
の用途で、Android開発者じゃない人が使う可能性あるんじゃないかな・・。
しかもASをまるっと入れた人は、逆にその手の目的ですぐには結局使えないような。。
ADT のpluginも。。
公式のページからすでに消されています・・・
https://dl.google.com/android/ADT-23.0.7.zip
と直でおとすしかないかなと。一応は有志様による下記のプロジェクトも動いているようですね
バルセロナで何かAndroidの発表あるのかな?まぁ、Android Studio 2.3の発表だろーなー。でも、重そうなんだよねー。0?(,'° j )っ URL
Back to the Eclipse!! و (。-_-。) ٩(マテ https://t.co/0WwAVJgUWQ
— じぇーん = Jane (@kinijane) 2017年2月24日
ちなみに
某戦記並みに
— close_yutori (@kimukou2628) 2017年2月22日
こんにちは(Android7)
そしてさようなら(古いAndroid)
って手榴弾投げて爆発させてるような感じのお話な感じもうける(過去互換の捨てっぷりをみると
本屋で実物早く見てみたいhttps://t.co/IIkHHPsKk9
の本読みました。
このシリーズは基本的に
「オラすげーもん作ったぞ解説してやるぞ!」「へー」
な感じなわけですが、この本読んだからいいアプリが作れるか? へ?という状態かと思います。
一般人には雑学本ですね。OS Modとか作るレベルの人にはいい本かもしれない。。
Androidを支える技術を読み始めたけど、まさに読みたかった内容だ。Honeycombへの恨みやら他GUIシステムに対する皮肉めいた言い回しやらがナチュラルに書かれていて、筆者さんのAndroid愛で溢れている一冊です。
— 竹内裕昭 (@takke) 2017年2月24日
「当時のモバイル開発ではほとんど空っぽのドキュメントで、どうやっても期待通りにならない不思議なAPI」
— 川峠@Andriders (@eaglesakura) 2017年2月24日
BREWのことかーーーー!!!
というAndroidを支える技術、とても面白い
上記の本で指摘されていたこと
自分の簡単にわかるレベルのお話だと*2
HandlerはLooperにキューを詰むので、delayで指定しても正確に再生できません
- => じゃあ具体的に対策はどうするの?
レイアウトが深いと高負荷になります
- => じゃあ具体的に対策はどうするの?
な感じでした。。
- ListView => RecyclerView
- 中のアイテムのレイアウトが潰れやすくなる
- =>開発者が頑張れ!
の根本解決がない。。
iOSのAutoLayoutではそんなこと起きないみたいなお話を聞くしな・・
「どうしてこうなった!」 とツッコミを入れたい感じだったりも