本人之前一直在做Android/Linux OS的底层开发工作。
近来转行至互联网行业,写Android app层Service时,断点调试时经常发现后台进程发生ANR时会被AMS无情杀掉,导致思维断行。
后来寻找到一个解决方案:
到“设置” -> "开发者选项" -> 选中最下边的“显示全部ANR”
这样子即使后台进程(比如只有Service和Receiver的进程)发生ANR(调试时是因为目标进程被attach住,不算运行时程序内部带来的ANR)也可以在界面选择“等待”以要求AMS大爷手下留情。不要kill掉它。