Font Size: a A A

Android Garbage Collection Performance Optimization Research Based On Escape Analysis

Posted on:2016-03-18Degree:MasterType:Thesis
Country:ChinaCandidate:H ZhangFull Text:PDF
GTID:2308330476455000Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
This paper presents a simple and effective method based on escape analysis for stack allocation to be applied in garbage collection of Android system. With the popularization of mobile terminal, mobile operating system performance, especially the performance of the Android operation system, has attracted more and more attention, and the garbage collection is one of the bottleneck of the whole system performance. Escape analysis is a kind of data flow analysis algorithm that can effectively reduce synchronization load pressure and heap allocated pressure of Java program. This paper analyzes on the CyanogenMod system to judge whether the object can be stack allocated by the application, so as to avoid heap allocated objects, reducing the garbage collection for the object, greatly reducing the garbage collection pressure then we can improve the overall performance.Based on the traditional escape analysis framework, the realization of a control flow insensitive, between processes, global data relevant to the context flow analysis method, that means, each object dynamically belongs to each stack frame and each stack frame has a unique number, when a method(or thread) the stack frame prepares to exit, we compare its unique number with subordinate stack frame number of objects, so as to determine whether the objects escape method(or thread).The experimental results show that, by this escape analysis method, we can make the Android application objects of the heap allocation in the running process reduced from 4% to 24%, in more than 60% test case, non escaping objects can be determined as the ratio of 20%, which can be allocated on the stack. In addition, this paper uses a simple and efficient labeling method to make ignore these objects which can be stack allocated objects, and the garbage collection process results show that, the pause time generated by garbage collection is reduced by 14% to 56%. The results show that, the application of escape analysis can effectively reduce the object heap allocation proport ion, thereby reducing the garbage collection pressure to improve overall system performance.
Keywords/Search Tags:garbage collection, android system, escape analysis, stack allocation, system perfomance
PDF Full Text Request
Related items