#24-20180708-20180714
Kotlin/Nativeのkotlinx.serializationサポートは一部で話題になっていたようです。PrecomputedTextで高速化する話はあまり話題になっていないようですが、けっこうアツい気がします。
Architecture Components Navigation 1.0.0-alpha3
GitHubで見るhttps://developer.android.com/jetpack/docs/release-notes#july_12_2018
いろいろ追加されたり修正されたりしてる模様。
Safe Argsの引数、デフォルトがNon-Nullになってちゃんと"Safe Args"になったようです拡張関数を使ってコンパイルエラーを起こさないコード生成ライブラリの作り方
GitHubで見るhttps://medium.com/the-fabulous/kotlin-extension-methods-generation-15b5e6499dc8
Kotlinの拡張関数の型変数をうまく使って生成したコードで差し替える方法です。うまいやり方ではあるのですが、ややトリッキーなので、賛否が分かれそうです。
AndroidエミュレータがAMD製のCPUをサポート
GitHubで見るhttps://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html
https://www.reddit.com/r/androiddev/comments/8xebss/android_emulator_amd_processor_hyperv_support/ようやく来ましたね。Hyper-Vもサポートしたようです。
Kotlin/Native v0.8
https://blog.jetbrains.com/kotlin/2018/07/kotlinnative-v0-8-released/
https://www.reddit.com/r/androiddev/comments/8ye9eq/kotlinnative_v08_released/標準ライブラリがかなり充実してきたようです。
CotorutineやKtorもKotlin/Nativeのサポートを始めたようで(まだexperimentalですが)、REST API周りのコードをKotlin/Nativeで書いて各プラットフォームで共有、なんてこともできそうです。GitHubで見る-
kotlinx.serialization サポートはけっこう嬉しいですね。
-
Android Things 1.0.2
GitHubで見るhttps://developer.android.com/things/versions/releases#android_things_102
特に細かい更新履歴はなく、7月のセキュリティパッチがメインのようです
ADDSというKotlin Coroutinesベースのアーキテクチャパターン
GitHubで見るhttps://gist.github.com/michaelzengke/44ac57032f7d877203a0935c99f5ed59
Action Delegate Delegatee viewState
でADDSだそうです。
unidirectional data flowで、かつ機能の入れ子もできそうな感じですが文中に出てくる以上のサンプルコードは見つからず…PrecomputedTextを使ってRecyclerViewのレンダリングを16倍高速化
GitHubで見るhttps://medium.com/google-developers/prefetch-text-layout-in-recyclerview-4acf9103f438
フォントや文字数にもよりそうですが、かなりインパクトのある結果です。 TextView#setTextFuture() は使いでがありそうですね。
Android PのAMAが7/19に開催されるそうです
GitHubで見るAndroid Pで導入されたMagnifier(拡大鏡)の説明
GitHubで見るhttps://medium.com/google-developer-experts/exploring-android-p-magnifier-ddfd06bdecbe
TextViewを継承していればとくに問題なさそうですが、自分で使う場合も簡単そうです。
vsync lockを待たないことでRxAndroidを高速化する提案
GitHubで見るhttps://github.com/ReactiveX/RxAndroid/pull/416
自分は不勉強にして知らなかったのですが、Looperは最低でも16msec(1フレーム)待つ挙動なのを、API 22から、そのvsync lockingをスキップするAPIが追加されたそうです。
https://developer.android.com/reference/android/os/Message#setAsynchronous(boolean)
また API 28 から、それ専用のHandlerを生成するAPIも追加されたようです。
https://developer.android.com/reference/android/os/Handler#createAsync(android.os.Looper)
Retrofitはどうやって動いているか
GitHubで見る
ところでMacbook Proも15インチ版がついにメモリ32GB載るようになりましたね 🤔
Androidアプリ開発、CPUもメモリもストレージも必要なので悩ましいですね。むしろノートPCを諦める方が早かったりして……。