Search code examples
androidtestingframe-rate

FPS testing in android application


How can an android application developer test FPS (Frames per second) for their application? I'm talking about general application, not game.

It can be on emulator or phone.

I've been looking for this but have not found a way. It would be great, if any developer can shed light on this.


Solution

  • As mention by Guykun and kcoppock, if you are only using the View widgets or Canvas you normally don't look for FPS to determine visual performance.

    As you don't mention what you are doing other than 'not a game' you may want to review how Android does drawing.

    http://developer.android.com/guide/topics/graphics/2d-graphics.html

    Most of the performance issues come from doing stuff on the UI thread. Use Strict Mode for finding problems.

    http://android-developers.blogspot.com/2010/12/new-gingerbread-api-strictmode.html

    Also use the tools to find performance hot spots:

    https://developer.android.com/topic/performance

    https://developer.android.com/topic/performance/rendering/inspect-gpu-rendering

    https://developer.android.com/topic/performance/rendering/optimizing-view-hierarchies

    And if you want more details of what's going on under the hood see the Google IO session on what they did for Hardware Accelerated Rendering

    Google I/O 2011: Accelerated Android Rendering

    Google has done additional work on UI performance and have presented sessions at Google IO available on Youtube:

    Google I/O 2012 - For Butter or Worse: Smoothing Out Performance in Android UIs

    Google I/O 2013 - Android Graphics Performance

    Android performance: UI (Google I/O '17)

    Drawn out: How Android renders (Google I/O '18)