「【メルカリ×奇兵隊×ジェネストリーム登壇】第1回AndroidTips共有会」に参加してきました
登壇者の発表前に事前交流会があり、非常に和気あいあいとした勉強会でした。
ログ管理でウキウキAndroid Life
メルカリの今井さん @tomoaki_imai による発表。
ウキウキするエラー系ログ管理のお話
ユーザの声にならない叫び
- クラッシュが大量に起こっても声を上げるユーザは少ない
- エラーログを見てバグを駆逐していきましょう
エラー監視ツール
- Google Developer Console
- Crashlytics
- 自前エラーレポート
Google Developer Console
- apkをGoogle playに挙げるときのあれ
- Crashlyticsで見られないものも見られる
- しかし氷山の一角
Crashlytics
- 導入が超簡単
- アカウント登録は待ち状態
- 1行コードを足すだけで使える
- メルカリではdev、stg、productでパッケージ名を分けそれぞれでログ管理し、テスト・QA
自前エラーレポート
- 予期せずエラーが起きてもレポートを飛ばす
- Applicationクラス内でThread.UncaughtExceptionHandlerを実装
- 既知のバグの発生条件を調査できる仕組み
- すでにErrorが発生すると判明している部分で、catch内で調査に必要な情報を送る
- レポートを貯めて送る仕組み
- レポートをプリファレンスに保存し、レポート送信前にクラッシュしたり通信できなくても、次回起動時に送信できるようにする
- 予期せずエラーが起きてもレポートを飛ばす
ウキウキする分析ログ管理のお話
What is 分析ログ
- インストール率、DAUなどを分析するためのツール
分析ログの問題点
SegmentについてQiitaにまとめた
注意
ぬるぬる動くAndroid Tips
画面をぬるぬるにする
- 昔の負の遺産を、血反吐吐く思いで回収
役に立った知識
- 現状のパフォーマンスを確認する方法
- 修正Tips
現状のパフォーマンスを確認する方法
- 便利なDeveloperモード
修正Tips
修正の流れ
便利ツール
- Android Studioなら特に簡単
- Method Tracking
- Hierarchy View
- Android Studioなら特に簡単
Method Tracking
Hierarchy View
- ビューの階層構造が一目でわかる
Viewの最適化
- narrowよりsharrowなView構造
- LiniearLayoutを使うとネストが深くなりがち
- RelativeLayoutで作ったほうがいい
- Listなどはよく効いてくる -ViewのbackdroundをやめてThemeのwindowBackgroundを使う
- narrowよりsharrowなView構造
詳しくは公式のPerformans Tipsを参照
まとめ
- 提供されているツールを使うと便利
- Android Studio使うともっと便利
- すぐに試せるのでやってみるといいかも
- レイアウトやコードの実装に気を遣おう
Reactive Android
ジェネストリームの釘宮さん @shin_kugi による発表。
Reactive Programming的な考え方とは?
- データの流れや変化が自動でインタラクティブにViewなどに反映させる考え方
ストリームという概念で物事を捉える
- ストリームとは、時間順に並んだ進行中のイベントの列
Anroidで使えるの?
どういうところに使えるか
- ModelとControllerの繋ぎ(Obserberパターンに)
- Http通信のリクエスト&レスポンス
まとめ
- Reactive Programingってなんぞやを理解しないと自分がなにしてるか良く分からない
- 結局ポイントは何をストリームとするか
ちょっとGoogle Analyticsの話しようぜ
岡野さん @operandoOS による発表。
その他
開場を提供して頂いたHDEさんにはDr Pepperを無料で飲める世界に一台の自動販売機がありました。