【勉強会】【メルカリ×奇兵隊×ジェネストリーム登壇】第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レンダリング分析

 -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が使っている

あまり使っているアプリは聞いたことない

メリット:ソースコードの可読性があがる。

学習コストは高い。