在公司里接手了一个后期的项目,由于项目前期对activity栈管理的不够谨慎,所以导致了在某些情况下程序退出的时候没有将activity栈清除掉。在网上找到的无非就是那几种例子,都不是最好的解决办法。今天尝试了一种方式,感觉效果还是可以的。
代码:
1 ActivityManager am = (ActivityManager)getSystemService(getApplication().ACTIVITY_SERVICE); 2 List<ActivityManager.AppTask> appTaskList= am.getAppTasks(); 3 for (ActivityManager.AppTask at:appTaskList) { 4 at.finishAndRemoveTask(); 5 }
无非就是获取所有的栈,然后将栈finish和Remove掉就可以了。