Android Injection Performance
Library Setup Kotlin Setup Java Inject Kotlin Inject Java
Koin 19.80 ms 20.43 ms 0.45 ms 0.35 ms
Kodein 21.48 ms 21.02 ms 0.74 ms 0.62 ms
Dagger 0.03 ms 0.03 ms 0.22 ms 0.15 ms
Sloy/android-dependency-injection-performance
interface SampleService {
@GET("users/{user}")
fun getUser(@Path("user") user: String): Deferred
}
val retrofit =
Retrofit.Builder().baseUrl("https://wasabeef.jp/").client(okHttpClient).build()
val service = retrofit.create(SampleService::class.java)
launch {
val user = service.getUser("wasabeef").await()
// Do something
}
Samples
よくあるサンプルコード
Slide 60
Slide 60 text
interface SampleService {
@GET("users/{user}")
fun getUser(@Path("user") user: String): Deferred
}
val retrofit =
Retrofit.Builder().baseUrl("https://wasabeef.jp/").client(okHttpClient).build()
val service = retrofit.create(SampleService::class.java)
launch {
val user = service.getUser("wasabeef").await()
// Do something
}
Samples
よくあるサンプルコード
Slide 61
Slide 61 text
interface SampleService {
@GET("users/{user}")
fun getUser(@Path("user") user: String): Deferred
}
val retrofit =
Retrofit.Builder().baseUrl("https://wasabeef.jp/").client(okHttpClient).build()
val service = retrofit.create(SampleService::class.java)
launch {
val user = service.getUser("wasabeef").await()
// Do something
}
Samples
よくあるサンプルコード
Slide 62
Slide 62 text
Testing
Slide 63
Slide 63 text
Testing
Unit Test
Firebase Test Lab
Slide 64
Slide 64 text
Unit Test
Slide 65
Slide 65 text
Unit Test
主なテスト方法は二つ
Instrument Test
実機やエミュレータ上でテスト行う
Local Test (Robolectric)
PC の JVM 上で擬似的にテストを行う
Slide 66
Slide 66 text
Unit Test
Robolectric を使ったテストでは、実機
やエミュレータの無い CI 上でテストを
実行できる事や、それらを起動する必要
がないので、高速で行うことができる。
※ まれに JVM と Android(ArtVM)で挙動差があることがある
Slide 67
Slide 67 text
Firebase Test Lab
Slide 68
Slide 68 text
Firebase Test Lab
.apk をアップロードするだけで実行が可能
Instrument/Robo Test の指定が可能
実機・エミュレータの指定ができる
iOS も対応
ユーザ名・パスワードのログインにも対応
動作ログ (Screenshot, Video) が見れる
Slide 69
Slide 69 text
Firebase Test Lab
コンソール画面
Slide 70
Slide 70 text
Firebase Test Lab
Console で1件クラッシュしたことがわかる
Slide 71
Slide 71 text
Firebase Test Lab
クラッシュ時のログも確認できる
Slide 72
Slide 72 text
Firebase Test Lab
実行時のスクリーンショットも確認できる
Slide 73
Slide 73 text
Firebase Test Lab
どの時間、どの画面で負荷が上がったかがわかる
Slide 74
Slide 74 text
CI
Slide 75
Slide 75 text
CI
bitrise
CircleCI
Danger
Slide 76
Slide 76 text
bitrise
Slide 77
Slide 77 text
bitrise
モバイル向け
GUI
Firebase Test lab が無料で使える
※ 指定出来るデバイスは少なめ
メモリ不足で落ちることは殆どない