1.第一种方式:创建一个存储activity的容器,在activity创建的时候加入到容器当中,在activity销毁的时候,从容器中删除。然后在需要退出应用的时候,遍历容器内所有的activity,并且逐个finish掉。
优点:方法简单 缺点:容器拥有对activity的强引用,如果activity出现异常退出,但是容器还没有及时释放掉,就会造成内存异常。
2.在activity中注册一个广播,在退出应用的时候,发出这个广播。
3.杀死进程。ActivityManager的对象调用killBackgroundprocess(getPackageName());
4.receiver+singleTask 在退出程序的时候,启动 启动模式为singleTask的栈底activity,并发出一个广播,接收到广播时,finish掉当前activity。
5.singleTask+onNewIntent()方法