做android开发时,发现一个关于android退出时不能彻底关闭的问题,比如:一个程序里有多个线程,这样在退出程序的可能不能完全关闭,最后发现,只用finish()方法,有时候不能彻底退出,个人感觉还是要在适当的地方加上:System.exit(0);
原因有两点:
1.this.finish()当退出页面,也许还有其他activity存在,可能还有没有结束的线程,有很多没有释放的资源。
2.Java 的 exit(int code) 方法可以退出当前程序,终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。该方法调用 Runtime 类中的 exit 方法。该方法永远不会正常返回。调用 System.exit(n) 实际上等效于调用:Runtime.getRuntime().exit(n)。
所以在推出页面的onDestroy()里面加上System.exit(0);可以解决第二次登陆java.lang.StackOverflowError异常。