Automated Android Perf Testing

Anup Cowkur

What is performance?

  • Battery Life
  • ​Network request speed
  • ​DB access speed
  • UI responsiveness - most visible to user and hence most important

What is Jank?

Jank is any stuttering, juddering or just plain halting that users see when an app isn't keeping up with the refresh rate.

What's refresh rate?

For most devices today, the screen will refresh 60 times a second, or 60Hz. If there is some motion on screen (such as scrolling, transitions, or animations) an app should create 60 frames per second.

16ms render time per frame

1000 milliseconds/60 frames ~ 16ms

On screen gsxinfo

Systrace

Automating jank testing with Espresso and dumpsys gfxinfo

dumpsys wifi

dumpsys battery

dumpsys cpuinfo

dumpsys meminfo

Automated Performance testing codelab:

https://codelabs.developers.google.com/codelabs/android-perf-testing

Thank you!

@anupcowkur

github.com/anupcowkur

Made with Slides.com