skip to main content
10.1145/2940353.2940356acmconferencesArticle/Chapter ViewAbstractPublication PagesmobihocConference Proceedingsconference-collections
research-article

Analyzing GUI running fluency for Android apps

Published:05 July 2016Publication History

ABSTRACT

Android as a free open platform has become increasingly popular and been widespread adopted in mobile, tablet, and other devices. However, a great number of issues, such as inadequate quality and the fragmentation phenomenon, have emerged, enhancing the difficulty of developing. Among them, the running fluency of Android apps directly affects user experience directly. As a result, it is of great significance to detect and analyze it.

The frame rate and 16-ms-per-frame benchmark are the most popular metrics to evaluate and measure the smooth performance of Android application GUIs and to test the quality of apps by developers. However, very few studies have analyzed the performance and consider the adequate usage of frame rate before extensively applying it. Further, current tools provided by Google or third-party cannot obtain the frame rate and rendering time for the system with multiple applications.

In this work, we focus on the performance issue, revisit and analyze various factors that Android apps do not run smoothly, along with Android graphic system. After that, we present ARFluency --- a tool to measure and automatically analyze the system and applications without modifying the source code of the Android apps. We also conduct an experiment to validate our tool using realistic Android apps. Experimental results show that although even the apps running fluently do have problematic frames. However, the metrics of frame rate cannot accurately reflect the performance of Android applications.

References

  1. M. Linares-Vasquez, C. Vendome, Q. Luo, and D. Poshyvanyk. How developers detect and fix performance bottlenecks in Android apps. In Proceedings of ICSME, pages 352--361, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Y. Liu, C. Xu, and S.-C. Cheung. Characterizing and detecting performance bugs for smartphone applications. In Proceedings of ICSE'14, pages 1013--1024, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Yang, D. Yan, and A. Rountev. Testing for poor responsiveness in Android applications. In Proceedings of MOBS, pages 1--6, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  4. Jelly Bean. http://developer.android.com/about/versions/android-4.0.html.Google ScholarGoogle Scholar
  5. Android -- History. www.android.com/history/.Google ScholarGoogle Scholar
  6. Y. Zhuang and Y. Li. Display Technique of Mobile Video Monitor on Android. Atlantis press, pages 2475--2482, 2015.Google ScholarGoogle Scholar
  7. M. Bulter. Android: Changing the Mobile Landscape. In Proceedings of IEEE Pervasive Computing, pages 4--7, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Kim, N. Jung, and H. Cha. Content-centric display energy manager for mobile devices. In Proceedings of Design Automation Conference (DAC), ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. L. Corral, A. Sillitti, and G. Succi. Mobile multiplatform development: An experiment for performance analysis. In Proceedings of the 9th International Conference on Mobile Web Information System (MobiWIS), Procedia Computer Science, pages 736--743, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  10. Keeping your app responsive. http://developer.android.com/training/articles/perf-anr.html.Google ScholarGoogle Scholar
  11. Loading large bitmaps efficiently. http://developer.android.com/training/displaying-bitmaps/load-bitmap.html.Google ScholarGoogle Scholar
  12. Analyzing UI performance with Systrace. http://developer.android.com/tools/debugging/systrace.html.Google ScholarGoogle Scholar
  13. Profiling GPU Rendering Walkthrough. http://developer.android.com/tools/performance/profile-gpu-rendering/index.html.Google ScholarGoogle Scholar
  14. FPS Meter. http://app.cnmo.com/android/188987/.Google ScholarGoogle Scholar
  15. Google Play. https://play.google.com/store.Google ScholarGoogle Scholar
  16. Github. https://github.com/TencentOpen/GT.Google ScholarGoogle Scholar
  17. X. Qian, G. Zhu, and X.-F. Li. Comparison and analysis of the three programming models in Google Android. In Proceedings of First Asia-Pacific Programming Languages and Compilers Workshop (APPLC), pages 1--9, 2012.Google ScholarGoogle Scholar
  18. A. Vant Hof, H. Jamjoom, J. Nieh, and D. Williams. Flux: multi-surface computing in Android. In Proceedings of EuroSys'15, pages 1--17, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Amalfitano, A. R. Fasolino, P. Tramontana, S. De Carmine, and A. M. Memon. Using GUI ripping for automated testing of Android applications. In Proceedings of ASE, pages 258--261, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Anand, M. Naik, M. J. Harrold, and H. Yang. Automated concolic testing of smartphone apps. In FSE, pages 1--11, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Jovic and M. Hauswirth. Listener latency profiling: Measuring the perceptible performance of interactive Java applications. Science of Computer Programming, 76(11):1054--1072, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. X. Yuan and A. M Memon. Using GUI run-time state as a feedback to generate test cases. In Proceedings of ICSE, pages 396--405, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Gavalas and D. Economou. Development platforms for mobile applications: status and trends. IEEE Software, pages 77--86, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Best practices for performance. http://developer.android.com/training/best-performance.html.Google ScholarGoogle Scholar
  25. A. Nistor, L. Ravindranath. Suncat: Helping developers understand and predict performance problems in smartphone applications. In Proceedings of ISSTA'14, pages 282--292, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Android NDK. http://developer.android.com/tools/sdk/ndk/index.html.Google ScholarGoogle Scholar
  27. Y. Li, J. Fang, M. Liu, and S. Wu. Study on the application of Dalvik injection technique for the detection of malicious programs in Android. In Proceedings of Electronics Information and Emergency Communication (ICEIEC) Conference (Beijing, China, May 14-16, 2015), pages 309--312, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  28. Android Studio. https://developer.android.com/.Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    MSCC '16: Proceedings of the 3rd ACM Workshop on Mobile Sensing, Computing and Communication
    July 2016
    52 pages
    ISBN:9781450343435
    DOI:10.1145/2940353
    • General Chair:
    • Xiangyang Li

    Copyright © 2016 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 5 July 2016

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    Overall Acceptance Rate6of6submissions,100%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader