Android 12引入了一项新机制,该机制将监视应用程序派生的子进程,并在达到32个以上子进程时将其终止,以避免占用过多的CPU资源。这一机制被称为"Phantom Processes Killing",因为开发者最害怕看到这种情况,所以被称为影子进程杀手。

这会导致一些在安卓上比较取巧的服务比如termux和aidlearning无法正常运行,所以我们要关闭它。

根据开发者的需求,在Android 12L以及Android 13及以上版本中,Google添加了一个名为"settings_enable_monitor_phantom_procs"的选项,允许用户关闭Phantom Processes Killing,不过用户仍需手动使用ADB指令来执行此操作。

# Android 12L和Android 13:

adb shell "settings put global settings_enable_monitor_phantom_procs false"

# Android 12:

adb shell "/system/bin/device_config set_sync_disabled_for_tests persistent; /system/bin/device_config put activity_manager max_phantom_processes 2147483647"