android开发两种退出程序方式(killProcess,System.exit)
2016-04-11 16:07
330 查看
KillProcess:
在android中我们如果想要程序的进程结束可以这样写:
这样就可以从操作系统中结束掉当前程序的进程。
注意:android中所有的activity都在主进程中,在Androidmanifest.xml中可以设置成启动不同进程,Service不是一个单独的进程也不是一个线程。
当你Kill掉当前程序的进程时也就是说整个程序的所有线程都会结束,Service也会停止,整个程序完全退出。
System.exit:
当我们在写java程序时肯定用到过System.exit(0),它的意思是退出JVM(java虚拟机),在android中一样可以用,我们可以想像一下虚拟机都退出了当然执行System.exit的程序会完全退出,内存被释放。
注意:在android手机中查看当前正在运行的进程时可以发现还可以查看"后台缓存的进程",你会发现很多退出了的程序还在后台缓存的进程中,如果不要让程序在后台缓存那么就可以用System.exit(0);来退出程序了,可以清除后台缓存的本进程。
System.exit(0),System.exit(1)的区别:
参数0和1代表退出的状态,0表示正常退出,1表示异常退出(只要是非0的都为异常退出),即使不传0来执行也可以退出,该参数只是通知操作系统该程序是否是正常退出。
在android中我们如果想要程序的进程结束可以这样写:
android.os.Process.killProcess(android.os.Process.myPid());
这样就可以从操作系统中结束掉当前程序的进程。
注意:android中所有的activity都在主进程中,在Androidmanifest.xml中可以设置成启动不同进程,Service不是一个单独的进程也不是一个线程。
当你Kill掉当前程序的进程时也就是说整个程序的所有线程都会结束,Service也会停止,整个程序完全退出。
System.exit:
当我们在写java程序时肯定用到过System.exit(0),它的意思是退出JVM(java虚拟机),在android中一样可以用,我们可以想像一下虚拟机都退出了当然执行System.exit的程序会完全退出,内存被释放。
注意:在android手机中查看当前正在运行的进程时可以发现还可以查看"后台缓存的进程",你会发现很多退出了的程序还在后台缓存的进程中,如果不要让程序在后台缓存那么就可以用System.exit(0);来退出程序了,可以清除后台缓存的本进程。
System.exit(0),System.exit(1)的区别:
参数0和1代表退出的状态,0表示正常退出,1表示异常退出(只要是非0的都为异常退出),即使不传0来执行也可以退出,该参数只是通知操作系统该程序是否是正常退出。
相关文章推荐
- android 用Path 绘制各种图形,Path的方法解析
- android中jsoup解析html的几个例子
- Android DatePicker使用遇到了一些问题
- Android实现多次闪退清除数据
- Android SD卡路径问题以及如何获取SDCard 内存
- [android]DatePickerDialog.OnDateSetListener 不会回调三星设备上
- 基于Android的富文本展现开发实践--AndroidCoreText
- Android去除烦人的默认闪退Dialog
- 将文件放到Android模拟器的SD卡中的两种解决方法
- Android中使用AsyncTask做下载进度条
- 百度地图只出现网格的问题
- Android开发之Intent和BroadcastReceiver
- 如何配置android的adb环境变量
- android textview xml 属性设置
- android与js的交互
- Android关于PagerAdapter的使用方法的总结
- Android6.0系统MAC地址获取的方法
- Android——属性动画(Property Animation)
- Android--这些小工具让你的Android 开发更高效
- Android Fragment 真正的完全解析(上)