Activity.finish()
Call this when your activity is done and should be closed. 
在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。
当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因为移出了栈,所以当你点击手机上面的“back”按键的时候,也不会再找到这个Activity。
Activity.onDestory()
the system is temporarily destroying this instance of the activity to save space.
系统销毁了这个Activity的实例在内存中占据的空间。
在Activity的生命周期中,onDestory()方法是他生命的最后一步,资源空间等就被回收了。当重新进入此Activity的时候,必须重新创建,执行onCreate()方法。
System.exit(0)
这玩意是退出整个应用程序的,是针对整个Application的。将整个进程直接KO掉。

------------------------------------------

finish函数仅仅把当前Activity退出了,但是并没有释放他的资源。安卓系统自己决定何时从内存中释放应用程序。当系统没有可用内存到时候,会按照优先级,释放部分应用。

转载于:https://www.cnblogs.com/mochaMM/p/5125049.html

安卓开发-Activity中finish() onDestroy() 和System.exit()的区别相关推荐

  1. 安卓开发-Activity的显示意图和隐式意图+实例+Activity界面间数据的传递实例

    <一:显示意图和隐式意图> 1.显示意图 //想打开的页面需要在创建意图时显式指定要打开那个Activity Intent intent = new Intent(this, 指定Acti ...

  2. Android开发-Activity中“android:exported“属性的作用,以及“Permission Denial: starting Intent“错误解决

    如何在一个应用程序中,启动另外一个应用程序?最近正有这样的需求,也踩了一个小坑.本节介绍使用Activity中"android:exported"属性来实现这种访问. Activi ...

  3. android java 退出程序_android开发两种退出程序方式(killProcess,System.exit)

    KillProcess: 在android中我们如果想要程序的进程结束可以这样写: android.os.Process.killProcess(android.os.Process.myPid()) ...

  4. Java开发工具中Compile、Make和Build的区别

    针对Java的开发工具,一般都有Compile.Make和Build三个菜单项,完成的功能的都差不多,但是又有区别. 编译,是将源代码转换为可执行代码的过程.编译需要指定源文件和编译输出的文件路径(输 ...

  5. java的System.exit(0)的作用以及和System.exit(1)区别。

    System.exit(int  status)这个方法是用来结束当前正在运行中的java虚拟机. status是非零参数,那么表示是非正常退出. System.exit(0)是正常退出程序,而Sys ...

  6. System.exit(0)和System.exit(1)区别

    2019独角兽企业重金招聘Python工程师标准>>> System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个ap ...

  7. Activity中finish()和onDestroy()的区别

    finish()方法用于结束一个Activity的生命周期,而onDestory()方法则是Activity的一个生命周期方法,其作用是在一个Activity对象被销毁之前,Android系统会调用该 ...

  8. 安卓开发板烧写程序与安装软件的区别_巧用imx6开发板烧写android系统的详细步骤讲解...

    平台:迅为iMX6开发板 iMX6 可以使用 OTG接口烧写镜像,OTG烧写也可以叫 USB 烧写. 1.OTG烧写环境 OTG 烧写只需要在 windows 环境,OTG 烧写方式首先要安装 ADB ...

  9. 安卓开发板烧写程序与安装软件的区别_在开发板上安装Android

    一.安装串口调试工具 开发Linux驱动程序无法像开发Android应用程序直接在Eclipse中开发,但是可以通过串口来通信.所以就需要安装串口调试工具,在这儿我们使用的串口调试工具是minicom ...

最新文章

  1. 如何开好一个 OKR 评审会议?
  2. Centos 7 下安装PHP7.2(与Apache搭配的安装方式)
  3. 【Netty】mmap 和 sendFile 零拷贝原理
  4. 微信红包的支撑架构原理是什么?
  5. ORB论文研读与代码实现
  6. 配置Debian11服务器允许root用户远程SSH登录
  7. oracle空间整理,ORACLE数据库空间整理心得
  8. 六招让你成职场超男超女
  9. java-开发环境切换不同版本Java-jdk的步骤
  10. Axure RP 9.0.0.3687 正式版
  11. 守望先锋:源氏跑酷之球图制作分享
  12. python爬虫构建国外代理池_Ipidea丨构建Python网络爬虫代理池
  13. 王者战力查询接口(免费)
  14. 加速区块链改革促进区域经济转型升级 ——中国·平泉负氧离子产业园正式落成
  15. uniapp app端自定义启动页与广告页
  16. 服务器系统浏览器打不开,电脑浏览器打不开解决方法
  17. Qt加载百度离线地图
  18. 企业微信 之 创建应用并添加至侧边栏
  19. 什么是异常,如何进行异常处理?
  20. python matplotlib包_Python matplotlib-venn包_程序模块 - PyPI - Python中文网

热门文章

  1. 使用Ubuntu18.04系统做操作系统实验的步骤
  2. ZOJ 3609 Modular Inverse(扩展欧几里得)题解
  3. 百度AI实战营第二季:AI技术商业落地指南
  4. java后台图片的上传预览接口 IO流
  5. Android6.0------权限申请管理(单个权限和多个权限申请)
  6. Java 20年:历史与未来
  7. 对oracle静态参数修改一点研究
  8. 分辨率快速切换工具,以及源码.
  9. mysql 多key索引_MYSQL的EXPLAIN到底多好用?
  10. HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good