• Activity中finish()和onDestroy()的区别


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

    finish会调用到onDestroy方法,
    可以在onDestroy里打印一句话,就会发现在finish方法那也会打印这句话。。。

     

     

    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()方法。

     

     

     

    注:出自网络。感谢原作者的分享!

    以下是本人实践的类

    package com.xunfang.test;
    
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    
    public class MainActivity extends ActionBarActivity {
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		System.out.println("界面被创建了");
    		finish();
    	}
    	@Override
    	protected void onDestroy() {
    		// TODO Auto-generated method stub
    		super.onDestroy();
    		System.out.println("界面被销毁了");
    	}
    }
    
  • 相关阅读:
    李开复:聪明人创业为何仍容易失败?
    七种公司永远做不大,十种老板永远不成功
    最优秀的创意来自留白
    七个图表解读VC们在种子轮融资的影响
    11款可以优化网站着陆页的工具
    O2O“世界大战”:美团全线开战,点评合纵连横
    初创企业网站如何在3天内获得10万浏览量
    “感谢”——新的意志力
    主动倾听的三个秘诀
    携程事件后,云运维的安全命题何解?
  • 原文地址:https://www.cnblogs.com/ouysq/p/4547012.html
Copyright © 2020-2023  润新知