博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android双击退出
阅读量:6338 次
发布时间:2019-06-22

本文共 1261 字,大约阅读时间需要 4 分钟。

hot3.png

/**     * 菜单、返回键响应     */    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        // TODO Auto-generated method stub        if(keyCode == KeyEvent.KEYCODE_BACK)        {            exitBy2Click(); //调用双击退出函数        }        return false;    }    /**     * 双击退出函数     */    private static Boolean isExit = false;    private void exitBy2Click() {        Timer tExit = null;        if (!isExit) {            isExit = true; // 准备退出//            Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();//            toastBreak("再按一次退出程序",mHomeRadiogroup,1500);            tExit = new Timer();            tExit.schedule(new TimerTask() {                @Override                public void run() {                    isExit = false; // 取消退出                }            }, 2000); // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务        } else {            finish();//          System.exit(0)是正常退出程序            System.exit(0);        }    }

 

  1. System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
  2. System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
  3. System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:return是回到上一层,而System.exit(status)是回到最上层

转载于:https://my.oschina.net/u/3698786/blog/1833403

你可能感兴趣的文章
机器学习-线性回归-多维度特征变量
查看>>
H.264 基础及 RTP 封包详解
查看>>
Android 开发者如何使用函数式编程 (二)
查看>>
【数据蒋堂】列式存储的另一面
查看>>
python多线程之Condition(条件变量)
查看>>
用心设计的艺术
查看>>
RAID2.0+全新的RAID技术
查看>>
Kubernetes和Docker新手问答
查看>>
调查报告:Docker的主导地位受到挑战
查看>>
开源日志系统log4cplus(五)
查看>>
OpenStack七年盘点,热潮褪去后的明天在哪?
查看>>
C++/C代码审查表
查看>>
祥云浮现 “云安全”推开CIO心头迷雾
查看>>
ASP.NET MVC涉及到的5个同步与异步,你是否傻傻分不清楚?[下篇]
查看>>
HBase 集群监控
查看>>
这家V神和Joseph Poon都支持的区块链公司,号称要用以太坊在支付中颠覆银行的存在...
查看>>
Supermicro推出机架规模设计系统
查看>>
以用户的名义重新定义下一代防火墙
查看>>
Gartner预测2015年十大战略技术趋势
查看>>
中国互联网协会秘书长卢卫:网络安全问题需要大协作
查看>>