Tuesday 10 March 2020

Performance in Android Devices

Performance in Android Devices 
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 application
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 [4][5]. 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 [5]. As important applications and services have higher priority than cached applications, so we need not worry about them.https://codeshoppy.in/
In general scenario, user opens few applications frequently than others. Both of our proposed solutions decrease the probability of killing such important user applications by LMK in memory crunch scenarios. In our proposed solution, we have added more parameter checks to LMK algorithm to make sure killing of applications occur not only based on LRU list but also based on the importance of the application to the user. Given below are the two new approaches:
Performance in Android Devices
In order to avoid heavy applications falling in this category, we also keep a check for the memory proportionate set size (PSS) value [7]. Whenever the PSS value goes higher than 30 MB we don’t consider applying our algorithm to such applications. We have included this check in our algorithm in order to remove any possibility that may hamper our algorithm due to memory leak of any frequently used heavy application. As process record gets update many a times, these checks are put in the right location which doesn’t increase the overhead of calculation very much.
  

No comments:

Post a Comment