Droidkaigi1日目

18 Feb 2016

Droidkaigi1日目に行ってきた。 会場は東工大。久々の大岡山でテンションが上がり気味だった。 最近Android結構触ってるからか、自分の関心度も高く集中して充実した時間だった。

明日から使えるRxJava頻出パターン

RxJavaのAPIクライアントの実装を例にした頻出パターンの解説

感想:

flatMapとかcombineLatistとかを概念的なものを実例を交えて簡潔に説明されていたので、かなりわかりやすかった。 ReactiveCocoaとほぼ同じようにRxJavaも使えそうでAndroidアプリ作る時はぜひ使いたい。

史上最速のAndroid

仮想マシン内部に依存した最適化の話。生成されるバイトコード、ネイティブコードやVMのアーキテクチャ、GCの設計の話などをソースも交えて解説。

感想

面白かった。1日目のベストアクト。VMハック楽しそうだった。Androidというよりもコンピュータサイエンス的に興味深い話だった。まさに廃人といった感じだった。 ローレベルにダイブする人は男気があってカッコ良い。

Android Dev Tools Knowledge

感想

良かった。スピーカーのイケイケな感じも勢いがあってよかった。 知らないものも多かったので、ちょっとずつ導入したい。

Instant Runを実現する仕組み

感想

情報が公開されていないので仕方ないが、前置きが長くて肝心の聞きたい部分が薄かった。概略だけって感じだった。

Androidの省電力について考える

省電力周りの歴史から最新のAPIまで順を追って説明する話。

感想

タイマーとか、常駐アプリに主にフォーカスした内容だった。割と新しめのAPIの話で、 普段気にしてなかったので、参考になった。

明日、敗訴しないためのセキュアコーディング

感想

セキュアコーディングの概要+最低限抑えておきたいところのまとめって感じだった。 やはり、ちゃんとやるならJSSECのセキュアコーディングガイド読まないといかんなという感じっすね

全体の感想

全体的に面白いトークが多かったが、「史上最速のAndroid」が一番面白かったかな。 あと、企業ブースでお菓子が出てて地味に今まで参加した中で一番充実してる気がした。

晩飯は久々の大岡山で四川にいくか凌駕にいくか迷ったが、今日は四川にいくことにした。 写真は、青菜担々麺。

tantan

以下はメモ。



明日から使えるRxJava頻出パターン

感想:

flatMapとかcombineLatistとかを概念的なものを実例を交えて簡潔に説明されていたので、かなりわかりやすかった。 ReactiveCocoaとほぼ同じようにRxJavaも使えそうでAndroidアプリ作る時はぜひ使いたい。

メモ:

史上最速のAndroid

仮想マシン内部に依存した最適化

感想

面白かった。VMハック楽しそうだった。Androidというよりもコンピュータサイエンス的に興味深い話だった。まさに廃人といった感じだった。 ローレベルにダイブする人は男気があってカッコ良い。

メモ

解析ツール

ループのオーバヘッド

バイトコードを見てみる

ネイティブコードを見てみる

-> ループのたびに謎のジャンプが入る。GCチェックをしている

※AndroidのARTのGCの発生する場所はある程度コンパイル時に決まる

ARTが犠牲にしたもの

ARTのGCの闇

レイテンシという悪魔に魂を打ったART

並行マークアンドスイープ

Pauseless GC

速い命令・遅い命令

JNIの秘密

まとめ 最速を目指すための作法

Android Guruを目指して

質問

Q. アーキテクチャの違いはどれくらい影響ある? A. かなりある。nativeコード生成はそれぞれ独立して実装されているので、最適化が今後効く可能性がある

Q. 高速JNIは使ってはいけないのでは?dot netのmscorelibもそうだった A. ダメ。

Q. 高速JNIなぜ速い? A. ステートの切り替えがない。前準備がいらない。

Q. OATインタプリタとは? A. 全てが事前コンパイルではない。インタプリタもある、リフレクションときなどはインタプリタが使う、dalvikと同等。jitコンパイラもある。

Q. リードバリアはローカル変数だけ? A. フィールド変数でも同じ。

Q. メソッド呼び出しの場合は? A. getterはインライン展開されることが多い。

Android Dev Tools Knowledge

感想

良かった。ひたすらツールの紹介で内容が濃かった。知らないものも多かったので、ちょっとずつ導入した。

メモ

便利なコマンド

gradle plugin

Android Studio Plugin

その他

デバッグ

どこで情報で集めるのか?

Instant Runを実現する仕組み

感想

前置きが長くてあまり話が深くなかったような気がする。概略だけって感じだった。

Instance Run

Androidの省電力について考える

感想

タイマーとか、常駐アプリに主にフォーカスした内容。割と新しめのAPIの話。 普段気にしてなかったので、参考になった。

メモ

電力使用量削減の歴史

明日、敗訴しないためのセキュアコーディング

感想

セキュアコーディングの概要+最低限抑えておきたいところのまとめって感じだった。 やはり、ちゃんとやるならJSSECのセキュアコーディングガイド読まないといかんなという感じっすね。

メモ

Tweet
comments powered by Disqus