Font Size: a A A

Analyzing And Optimizing UI Performance Bottlenecks Of ANDROID Applications

Posted on:2017-12-23Degree:MasterType:Thesis
Country:ChinaCandidate:C C XiangFull Text:PDF
GTID:2428330590488880Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Android applications are playing an increasingly important role in people's daily life and work.Because of the high interactivity of applications and the limited computing power of mobile devices,it is critical for Android applications to have a good performance.Among all the performance issues,bottlenecks in UI performance affect the response time of a user operation,thus is related to the user experience directly.Currently,there are only preliminary research works on the UI performance issues of Android applications,which mainly focus on the detection of the UI bottlenecks.However,there is still an unresolved hard problem on how to figure out the root cause of applications' UI performance bottlenecks and how to automatically optimize that.Since UI performance issues are usually very complex and involved with multiple locations of an application,it takes developers much time to find out the cause and fix it.Therefore,there is an urgent need for UI performance analysis and optimization tools in the field of mobile development.This paper starts with analyzing the common cause of UI performance problems,then proposes a corresponding automatic optimization scheme and develops a practical optimization tool.The innovation of this paper includes three parts.Firstly,this paper analyzes 115 thousand real-world applications,which indicates that bitmap-related API misuse prevails in real applications,and may cause severe performance problems.Secondly,based on those findings and binary rewriting techniques,this paper proposes an automatically optimizing scheme for bitmap loading,AppSwift,which adds a global bitmap cache to effectively address the performance bottlenecks in bitmap loading.Lastly,this paper develops a binary rewriting tool to realize the proposed approach,which has good scalability and usability,and thus can be adopted in other optimization schemes.To show the effect of the optimization scheme,the paper conducts comparison test with simulated user operations on 30 selected real-world applications.The test results show AppSwift can reduce the average bitmap loading time and IO by 37.4% and 48.9% correspondingly.In addition,AppSwift effectively decreases the average GC pause time by 17% with an overhead of increasing the maximum memory use by only 11%,greatly improving the application's overall response time.This paper also proves the practicality of AppSwift by a case study on popular and mature applications.The case study shows that AppSwift also helps much for those applications that have already adopted bitmap cache and for experienced developers.As a result,AppSwift has broad application prospects.
Keywords/Search Tags:Android, program analysis, performance optimization, UI performance
PDF Full Text Request
Related items