zoukankan      html  css  js  c++  java
  • 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别

    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退出了,但是并没有释放他的资源。安卓系统自己决定何时从内存中释放应用程序。当系统没有可用内存到时候,会按照优先级,释放部分应用。

    但,当我们开发的时候,需要记住,并不是一味的销毁资源才是正确的,需要和开发需求结合再决定是用哪一种

  • 相关阅读:
    Arrays.fill方法的陷阱
    彻底弄懂最短路径问题
    《c++primer》疑惑记录
    C++ 隐含的this 指针
    c++ 内存分配
    抽象 与 封装 区别
    iconv 文件编码转换
    python中文分词工具——结巴分词
    词形变换和词干提取工具(英文)
    python 绘图工具 matplotlib 入门
  • 原文地址:https://www.cnblogs.com/guiqw/p/5077545.html
Copyright © 2011-2022 走看看