该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@Override
3. public void onClick(View v) {
4. android.os.Process.killProcess(android.os.Process.myPid());
5. }
6. });
复制代码
3. exit
我们知道,Java 的 exit(int code) 方法可以退出程序,通过查看该方法源码,知道它实际上是调用下面的方法:
1. Runtime.getRuntime().exit(code);
复制代码
示例代码,如下所示:
1. btn_exit.setOnClickListener(new Button.OnClickListener() {
2. @Override
3. public void onClick(View v) {
4. System.exit(0);//正常退出App
5. }
6. });
复制代码
接下来,我们研究一下这个方法。java.lang.System这个类的该方法jdk说明:
view plainprint?
1. exit
2.
3. public static void exit(int status)
4. 终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
5. 该方法调用 Runtime 类中的 exit 方法。该方法永远不会正常返回。
6.
7. 调用 System.exit(n) 实际上等效于调用:
8.
9. Runtime.getRuntime().exit(n)
10.
11. 参数:
12. status - 退出状态。
13. 抛出:
14. SecurityException - 如果安全管理器存在并且其 checkExit 方法不允许以指定状态退出。
15. 另请参见:
16. Runtime.exit(int)
也就是说,参数为非0值的话是异常退出程序。参数为0的话,就是正常退出。
看RunTime这个类的该方法源码:
1. public void exit(int status) {
2. SecurityManager security = System.getSecurityManager();
3. if (security != null) {
4. security.checkExit(status);
5. }
6. Shutdown.exit(status);<