The lifecycle of Android apps is dynamically managed by the system in an ad hoc manner, which leads to apps’ abusing lifecycle entry points to automatically start up and gaming the priority-based memory management mechanism to evade being killed. Such apps exhibit diehard behaviors that keep them long-running in the background, resulting in excessive battery consumption and device performance degradation. Existing battery-saving features are far from being effective in restricting diehard behaviors, due to the lack of systematic, fine-grained control of app lifecycle. In this paper, we propose the Application Lifecycle Graph (ALG), a holistic modeling of system-wide app lifecycle. We present a lightweight runtime framework that builds ALG and utilizes it to realize fine-grained lifecycle control of apps. The framework exposes APIs that provide ALG information and lifecycle control capabilities to developers and device vendors, empowering them to leverage the framework to implement rich functionalities. Evaluation results show that the proposed framework is competent and incurs low performance overhead. It introduces 4.5MB additional memory usage on average, and approximately 5% and 0.2% CPU usage during system booting and at idle state.
CITATION STYLE
Shao, Y., Wang, R., Chen, X., Azab, A. M., & Mao, Z. M. (2019). A lightweight framework for fine-grained lifecycle control of android applications. In Proceedings of the 14th EuroSys Conference 2019. Association for Computing Machinery, Inc. https://doi.org/10.1145/3302424.3303956
Mendeley helps you to discover research relevant for your work.