Upload
tomoaki-imai
View
3.696
Download
2
Embed Size (px)
Citation preview
株式会社メルカリ Android エンジニア
!
!
!
!
!
!
最近はUS展開でのアプリ開発に従事
自己紹介
2
twitter: tomoaki_imai github: tomoima525 qiita: tomoima525
フリマアプリの機能開発
Twitter API Manager
Architecture
Twitter kit
Twitter Loader Manager
(AsyncTaskLoader)Activity
CustomView Fragment
各Managerからは Eventbusで通知
DB Tweet, fav, RT etc.
Twitter Search Manager
insert
select
callback
Libraries Twitter kit Events Joda-Time Android Crashlytics etc.
queries
実装上の課題
初回起動時のロードタイム
• Twitter Apiの制約
- 一度の上限200件, 全体で3200件
• 16回の通信、都度DBへのロード
SQLiteを利用したinsert time: 25578ms
計測してみた
SQL insert 25587 ms
Realm insert 16906 ms
SQL bulk insert 15855ms
それぞれTwitter Apiのオーバーヘッドを含む
条件 - 3200件をTwitter Api経由で取得、DB insert - Wifi (100Mbps) - 端末はOne plus one(Kitkat,Qualcomm Snapdragon2.5GHz 4コア)
②ロード途中でViewを描画
•ユーザーを待たせたくない → 操作が効かないダイアログなんてもっての外 !
•必要最低限が表示されていればOKなのでは?
→ 400件受信した時点でLoaderManagerから
EventBusをfireし、Viewの描画を開始
③Coach Markの活用
400件の受信でも2-4秒はユーザーを待たせてしまう →Coach Markでユーザーに操作を慣れてもらう
※Coach Markとは? 初回登録ユーザーに対して行う操作ガイドで利用されるフォーカスやアニメーション