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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- S. Yang, D. Yan, and A. Rountev. Testing for poor responsiveness in Android applications. In Proceedings of MOBS, pages 1--6, 2013.Google ScholarCross Ref
- Jelly Bean. http://developer.android.com/about/versions/android-4.0.html.Google Scholar
- Android -- History. www.android.com/history/.Google Scholar
- Y. Zhuang and Y. Li. Display Technique of Mobile Video Monitor on Android. Atlantis press, pages 2475--2482, 2015.Google Scholar
- M. Bulter. Android: Changing the Mobile Landscape. In Proceedings of IEEE Pervasive Computing, pages 4--7, 2011. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Keeping your app responsive. http://developer.android.com/training/articles/perf-anr.html.Google Scholar
- Loading large bitmaps efficiently. http://developer.android.com/training/displaying-bitmaps/load-bitmap.html.Google Scholar
- Analyzing UI performance with Systrace. http://developer.android.com/tools/debugging/systrace.html.Google Scholar
- Profiling GPU Rendering Walkthrough. http://developer.android.com/tools/performance/profile-gpu-rendering/index.html.Google Scholar
- FPS Meter. http://app.cnmo.com/android/188987/.Google Scholar
- Google Play. https://play.google.com/store.Google Scholar
- Github. https://github.com/TencentOpen/GT.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- S. Anand, M. Naik, M. J. Harrold, and H. Yang. Automated concolic testing of smartphone apps. In FSE, pages 1--11, 2012. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- D. Gavalas and D. Economou. Development platforms for mobile applications: status and trends. IEEE Software, pages 77--86, 2011. Google ScholarDigital Library
- Best practices for performance. http://developer.android.com/training/best-performance.html.Google Scholar
- 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 ScholarDigital Library
- Android NDK. http://developer.android.com/tools/sdk/ndk/index.html.Google Scholar
- 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 ScholarCross Ref
- Android Studio. https://developer.android.com/.Google Scholar
Recommendations
Binary compatible graphics support in Android for running iOS apps
Middleware '17: Proceedings of the 18th ACM/IFIP/USENIX Middleware ConferenceMobile apps make extensive use of GPUs on smartphones and tablets to access Web content. To support pervasive Web content, we introduce three key OS techniques for binary graphics compatibility necessary to build a real-world system to run iOS and ...
Inter-app communication between Android apps developed in app-inventor and Android studio
MOBILESoft '16: Proceedings of the International Conference on Mobile Software Engineering and SystemsCommunications between mobile apps are an important aspect of mobile platforms. Android is specifically designed with inter-app communication in mind and depends on this to provide different platform specific functionalities. Android Apps can either be ...
Android: Changing the Mobile Landscape
The mobile phone landscape changed last year with the introduction of smart phones running Android, a platform marketed by Google. Android phones are the first credible threat to the iPhone market. Not only did Google target the same consumers as iPhone,...
Comments