[IEEE]
Application launch time in mobile systems is critical in many cases because it can adversely affect user experience. Android has employed several software techniques to reduce application launch time. For example, Android shares memory space among applications to reduce the loading time of libraries. It also keeps applications in memory, even after the applications are terminated, to reduce start-up time. However, not much research has been done from a hardware perspective to reduce application launch time. In this article, the authors analyze memory usage patterns of Android applications and suggest several hardware optimization techniques. They also demonstrate the benefit of using a phase-change memory such as nonvolatile memory to accelerate start-up time.