Return
RCHDroid: Transparent Runtime Change Handling for Android Apps
DOI:10.1145/3774430.png)
Abstract
En 中文
Mobile devices frequently encounter runtime configuration changes, such as screen orientation adjustments, screen resizing, and language switching. The current Android framework employs a restart-based mechanism to reload resources in response to these changes. Consequently, developers must explicitly manage state preservation and restoration during activity restarts; otherwise, runtime changes may lead to state loss or even application crashes. To address these challenges, we propose RCHDroid, a transparent system-level approach for handling runtime configuration changes in Android applications. Instead of restarting the activity, RCHDroid creates a new activity based on the updated configuration and seamlessly migrates states from the old activity to the new one, while deactivating the old activity. To manage asynchronous tasks still running on the old activity, we introduce an epoch-based migration scheme, which ensures the migration of result events upon task completion. We have implemented a prototype of RCHDroid on real hardware and made the source code publicly available. Experimental results demonstrate that RCHDroid enables existing apps to handle runtime configuration changes without modifications, reducing handling time by 31.59%.
Keywords:
Mobile systems
embedded systems
operating systems
runtime configuration change handling
Journal
A
IF:
1.8
Papers:
96
Citations:
1.1K

