ASAP: Fast Mobile Application Switch via Adaptive Prepaging
summary
ASAP implements adaptive prepaging inside Android with a switch footprint estimator (static profiles for file-backed pages, dynamic tables for anonymous pages) and a pre-page manager that spawns batch prefetch threads with idle scheduling to avoid contention. Evaluated on Pixel 4 and Pixel 3a with eight real apps, it reduces app-switch latency by 22.2% and 28.3% on average (max 33.3% and 35.7%), raises CPU utilization during switches (≈18% average increase) and boosts disk I/O utilization, demonstrating practical end-to-end speedup.
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:27Memory Pressure in Today's Smartphone Usage
- 0:58Memory Pressure Degrades UX
- 1:17Android Memory Management
- 3:13Application Switching Latency under Memory Pressure
- 5:18Challenges of Prepaging
- 6:07Application Switch via Adaptive Prepaging (ASAP)
- 6:55ASAP: Design Overview
- 7:12Switch Footprint Estimator (SFE)
- 7:57Switch Footprint Estimator: Mechanism
- 8:39Optimized SFE for Each Type of Pages
- 9:37Prepaging Manager
- 10:17Optimzing Prepaging Threads
- 11:01Evaluation Methodology
- 11:37Switching Latency Reduction
- 12:35Improved CPU Utilization
- 13:09Improved Disk Bandwidth Utilization
- 13:26Switch Footprint Estimator Efficiency
- 14:03Conclusion
related talks
21mAcclaim: Adaptive Memory Reclaim to Improve User Experience in Android Systems
39mEffective Data Prefetching on Background
40mAndroid high performance baby
21mPrepare your app for the 16 KB page migration
25mReducing Android Boot Times: Evaluating Proactive File Prefetching
35mThe Impact of Micro-Optimizations on Large-Scale Apps
38mLow effort, High impact Android performance wins
38mEmbracing 16 KB Page Sizes in Android
