【勉強会】【メルカリ×奇兵隊×ジェネストリーム登壇】第1回AndroidTips共有会
Android Tips勉強会に参加してきました
1. メルカリ 今井さん @tomoaki_imai
テーマ:ログ管理でウキウキAndroid Life
エラーログとは、ユーザーの声にならない叫び
クラッシュログ管理
google developer consoleとGoogle Analytics
アプリがクラッシュし、ユーザーがレポートを送ったら確認できる
Crashlyticsで拾えないネイティブクラッシュが確認できる
crashlytics
テスト配信機能もあり
最近は人気で、アカウント作成待ちの行列
dev,stg,productでパッケージ名を分け、それぞれでログ監視
自前エラーレポート
エラー用APIでクラッシュ時に送信
より詳細に状況を把握し、バグ解消に活かす
実装のポイント
予期せずエラーが起きてもレポートを飛ばす仕組み
-Applicationクラス内でTreadUncaughtExceptionHandlerを実装
既知のバグの発生条件を調査できる仕組み
-Errorが発生すると判明している部分で、try.catchし、catch内で調査に必要な情報を送る
レポートをためて送る仕組み
-レポートをプリファレンスに保存し、レポート送信前にクラッシュしたり通信できなくても、次回起動時に送るようにしている
メルカリのAndroidアプリの1日のクラッシュ数は500くらい
DL数はのびているけどクラッシュ数は変わらないので、クラッシュ率は減っている
分析ログ
インストール率とかDAUとか計測
導入するAPIがいろいろあって大変
そこで、Segmentというサービスを使っている
詳しくはqiitaにまとめている
成長中のサービス
オープンソースなのでPRしよう
質疑応答
去年の10月くらいからバグつぶし活動が始まった
外部のSDKのバグはSDK提供者に連絡するかソースコードもらって直す
ログデータはある期間でばっさり削除している
対応の優先度
1.リリース直後にでたやつ
2.日々ちょっとずつでているやつ
3.ぱっと解決できるやつ
2.奇兵隊 小西さん ぬるぬる動くAndroid Tips @konifar
現状のパフォーマンスを確認する方法
すべて端末の開発者モードでできる
Strictモード
-開発者モードの厳格モード
-GPUの使用状況をリアルタイムで表示
GPUオーバードロー
-何回描画されているかを可視化
修正の流れ
-遅いところを探して直す
Android Studioなら特にかんたん
1.Method Tracking
-どのメソッドに時間かかかっているか1クリックでトラッキング
2.Hierarchy View
-Viewの階層構造が一目でわかる
-narrowよりsharrowなView構造
-ネストを浅く
3.ViewのbackgroundをやめてThemeのwindowBackgroundを使う
まとめ
提供されているツールを使おう
Android Studioを使おう
すぐ試せるのでやってみよう
レイアウトやコードの実装に気をつけよう
3.Genestream 釘宮さん Reactive Android
Reactive Programmingって何?
直訳すると反応的プログラミング
Androidで使えるの?
RxAndroidを導入すれば使える
導入は一行
RxAndroidは、soundcloudが使っている
あまり使っているアプリは聞いたことない
メリット:ソースコードの可読性があがる。
学習コストは高い。