android 模拟应用因内存不足被后台杀死命令

Posted X-Bing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 模拟应用因内存不足被后台杀死命令相关的知识,希望对你有一定的参考价值。

android开发中,有时候我们需要测试下后台进程被杀,然后重新进入App时恢复现场的case。如果采用填充内存的方式,比较麻烦,下面介绍几种快速模拟后台进程被杀的方式: 

方式1:

最简单的方法是在DDMS中点击”Stop Porcess”杀掉你的程序,在你调试程序的时候可以这样做。

方式2:

适合debug程序 
Android Studio中打开Android Monitor,选择进程,将app按home键退到后台,点击terminate application按钮即可

方式3:

adb shell  am force-stop package-name         应用在前台强制关闭,强制停止指定的package包应用。 

adb shell am kill package-name                    应用通过home键已经停留在后台使用,杀死指定package包应用进程,该命令在安全模式下杀死进程,不影响用户体验。参数选项:--user <USER_ID> | all | current: 指定user进程杀死,如果不指定默认为所有users。(关于USER_ID下面会介绍到)
adb shell am kill-all              应用通过home键已经停留在后台使用,杀掉所有后台程序,需要先将目标程序按home进入后台,然后打开一个其他程序

方式4:

适合所有程序 
打开手机开发者选项-后台进程限制-不允许后台进程,同样按home键退到后台后,打开个其他应用再退出,进程就被杀了。

方式5:

通过模拟器或者一个Root过的真机: 
1. 按Home按键退出你的程序; 
2. 在控制台,敲入如下命令(Windows系统下 WIN + R -> cmd -> 回车)

找到该APP的进程ID adb shell ps 
找到你APP的包名 
Mac/Unix: adb shell ps | grep your.app.package 
按照上述命令操作后,看起来是这样子的: 
USER PID PPID VSIZE RSS WCHAN PC NAME # u0_a198 21997 160 827940 22064 ffffffff 00000000 S your.app.package 
通过PID将你的APP杀掉 adb shell kill -9 21997











以上是关于android 模拟应用因内存不足被后台杀死命令的主要内容,如果未能解决你的问题,请参考以下文章

android (Service & PhoneStateListener) - 当应用程序被任务管理器、杀手或内存不足杀死时,服务确实重新启动但不工作

Android防止Service被杀死

保证Android后台不被杀死的几种方法

Android防止Service被杀死

Android防止Service被杀死

Android 使用MarsDaemon进程常驻