arrow
Return

RCHDroid: Transparent Runtime Change Handling for Android Apps

delete2025-12-01
delete0
PRE
AI
Z
Zizhan Chen *
Z
Zili Shao
DOI:10.1145/3774430delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

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
ACM Transactions on Architecture and Code Optimization
IF:
1.8
Papers:
96
Citations:
1.1K

Organization

C
Chinese University of Hong Kong
Scholars:
3.4W
Papers: 3.2W
Citations: 5.6W