在Andriod中有几种合法退出App的方式
优雅方式:
遍历当前所有存活的activity后finish(); 可以在application中注册activity生命周期的监控来管控当前哪些activity是存活的 registerActivityLifecycleCallbacks,在onActivityCreated中add,在onActivityDestroyed中remove
暴力方式:
1\. android.os.Process.killProcess(android.os.Process.myPid());
2\. System.exit(0);
3.ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
manager.killBackgroundProcesses(getPackageName());
通过暴力方式退出App,会存在空stack的问题(在adb下通过am stack list命令可以查看stack的列表),为了解决这个问题还需要找到所有的activity去finish掉。