When the user want to open an App A, but the system don’t have enough memory to launch App A, it would enter the Oom(Out-Of-Memory) Screen for the user to select which of the running apps shall be terminated to release memory for launching App A.
1. Use Case
1). The Oom Screen show a list of running apps
2). The user select one the these running apps to terminate
3). Popup a dialog for the user to confirm terminate app
4). Loop 1~3 until there is enough memory to launch new app
Shall only be used by the ASM module
extern "C" void vadp_p2v_vapp_oom_init(mmi_id asmManagerGid, mmi_id launchAppId) to init and enter the Oom Screen
extern "C" void vadp_p2v_vapp_oom_exit() to close the Oom Screen
extern "C" void vadp_p2v_vapp_oom_stop_finished() to notify the Oom Screen the terminating app process is finished
2.File Structure
venusmmi/app/Cosmos/OomScr vapp_oom.h Vapp_oom.cpp Application source code
venusmmi/app/Cosmos/OomScr/res vapp_oom.res ref_list_oom.txt Application resource file
Oom Screen is a simple UI layer, the memory states is handled by the ASM OOM handling mechanism, Oom Screen just bypass the user commands to the ASM module.
ASM module, the ASM memory management. the Oom Screen can only be triggered when some app allocate memory from ASM
Java, the Oom Screen have to query the Java VM state from this module
Cosmos Widget, the Oom screen have to query the current widget name from this module