#18-20180527-20180602

GDPRの話が落ち着いて、I/Oで発表された機能のリキャップがちらほら出始めているようです。

loading share widgets...

Kotlinがラムダ式をどうやって実現しているか

https://medium.com/google-developers/kotlin-demystified-understanding-shorthand-lamba-syntax-74724028dcc5

裏側ではFunctionNと言われるinterface群を利用して表現しています。

Android Studioだと Toos > Kotlin > Show Kotlin Bytecode からバイトコードが参照できますし、そこから更に Decompile すると、KotlinのコードがJavaからどう見えてるか確認することができます。

Comments

一見Javaのラムダに変換しないのでオーバーヘッドがありそうですが、inline 修飾子のおかげですべて展開されるのがいいですよね。

一部のAndroid端末でString#intern()の挙動が仕様と異なるという報告

https://blog.ably.io/this-android-vm-bug-causes-interned-strings-to-be-handled-incorrectly-1e206283bbb4

https://developer.android.com/reference/java/lang/String.html#intern() を見ると、たしかに記事に書かれているコードは正しく動きそうです。一部のSamsung端末で起きるとのことなのでメーカーが何らかの最適化を走らせてしまっているのかもしれません。

WorkManagerの登場でevernote/android-jobが将来的に非推奨に

バックグラウンドジョブのためのライブラリはたくさんありますが、WorkManagerの登場で次第に消えていくのでしょうか。

Comments

このツイートのツリー見てると感謝の言葉がたくさんあってグッときます。
こういうフェードアウトでない形でライブラリの寿命が来るのは、なんというか素敵だなあと思いました。

targetSdkVersionが低いとLintがエラーを出すようになったみたいです

以前からアナウンスされていましたが、今年の11月までに既存アプリもtargetSdkVersionを上げないとリリースできなくなります。早めにご準備を。

Google Play Store ConsoleのAPI keyが流出し、不正なアプリがリリースされてしまった事案

https://bacoor.co/archives/17689/

仮想通貨ウォレットアプリで不正なバージョンがリリースされ、顧客資産が盗難にあってしまったそうです。
ちょっと毛色が違う気もしますが、いろいろ学ぶことの多い事件だと思いました。

Comments

CI用にサービスアカウントがあると、管理が難しくなりそうですね。他山の石としたいです。

Jetpackをふんだんに使ったGoogle謹製のサンプルアプリ

https://github.com/googlesamples/android-sunflower

ふんだん、というと言い過ぎですが、navigationやWorkManagerも使っているので見るとおもしろいかもしれません。なお、ソースは takahirom さんのツイートです:https://twitter.com/new_runnable/status/1000961813356298240

Comments

複数Activityな構成になってるんですね。
Toolbarのレイアウトが異なるときにFragmentでやるかActivity分けるか、とかそのへんの判断基準とかあるいはベストプラクティスもカバーされるといいなあ。

©2019 — Android Dagashi