更新时间:2026-07-24 GMT+08:00
对接oom高内存应用退出广播
功能介绍
云手机进程占用的内存过高,可能会引发手机容器卡顿。为了防止内存占用过高,系统会在内存占用过高时,会触发oom kill对高内存占用的进程进行查杀,为了使得用户感知到应用被查杀的动作,系统查杀应用后会发送广播进行通知。
广播信息
- 广播action:android.intent.action.APP_KILLED
- 广播附带信息:
- 查杀原因:key是reason;value是high-memory
- 被杀的进程:key是comm;value是进程名称
- 被杀进程的uid:key是uid;value是进程uid
广播附带信息的获取方法请参考使用方法。
使用方法
监听被杀应用广播
客户后台管理程序可以通过监听被杀应用广播,获取被杀应用的包名和原因。
public static final String ACTION_APP_KILLED = "android.intent.action.APP_KILLED";
private MyBroadcastReceiver mBroadcastReceiver = new MyBroadcastReceiver();
private void registerReceiver() {
IntentFilter filter = new IntentFilter(ACTION_APP_KILLED);
this.registerReceiver(mBroadcastReceiver, filter);
}
private void unregisterReceiver() {
this.unregisterReceiver(mBroadcastReceiver);
}
private class MyBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "AppKilled";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "package: " + intent.getStringExtra("comm"));
Log.d(TAG, "reason: " + intent.getStringExtra("reason"));
Log.d(TAG, "uid: " + intent.getStringExtra("uid"));
}
} 父主题: 使用AOSP功能