Return to site

Android Project Center in Kumbakonam - CodeShoppy

Market share for android smartphones have been increasing exponentially day by day. With this increase in numbers of phones sold every year, even the demands for a better quality of the android phones are increasing in the competitive market. To meet the high expectations of users, companies are putting good amount of efforts in the improvement of hardware as well as software. While smartphone hardware market is already saturating to an extent, there is a lot of scope for improvement on software design on top of Google’s stock Android for better user experience.

As far as user experience is concerned, application launch time is one of the most important performance parameter for any smartphone device. In general, due to the usage of many applications, a good amount of RAM gets consumed resulting in phone sluggishness. This sluggishness is very much visible to the user especially when a particular application, which user wanted to re-use, is already killed by LMK. In our proposed solution, we intend to provide a better user experience by improving LMK’s algorithm based on user’s usage of various applications. Thereby, enhance user experience by decreasing application launch time of favorite applications.

broken image

n Android operating system, there are two ways in which an application can be launched. First, zygote can be forked to create new application process when the process is not present n the background. Second, resume a process already present in background . Depending on whether the process is being forked or resumed, the launch time of an application changes. Application’s launch time is defined as the time it takes from the moment the user touches the icon to the moment the application’s activity shows up on the screen. The Table 1 shows the 1st launch (forking) and the 2nd launch (resuming) of various application collected from Samsung Galaxy S5 through android logcat

Android operating system has an in-built task killer, called low memory killer (LMK). The LMK keeps an eye on the real time RAM usage of all applications. Whenever excess of RAM is consumed, the LMK starts killing applications to free-upsome memory . For the killing of applications, LMK has defined some set of priorities through oom_adj value. This oom_adj is set by android kernel for each process on the Android system. It ranges from -17 at the highest to +15 at the lowest. Therefore, in memory crunch situation, LMK is called and it starts killing applications from the lowest oom_adj i.e. oom_adj value of +15. For this paper, we target only the cached applications that range from +9 to +15 . As important applications and services have higher priority than cached applications, so we need not worry about them.