Activity和Fragment的onDestory()区别及Finish()的总结

  • Fragment的生命周期回调方法:onDestory():


    官方文档如下:
    public void onDestroy ()
    Called when the fragment is no longer in use. This is called after onStop() and before onDetach().
    即当Fragment不被使用时回调该方法,回调在onStop()之后,在OnDetach()之前。
    注:fragment和生命周期依赖于Activity
    即,Activity调用onDestory之前会先调用fragment里的onDestory

  • Activity的onDestory与finish()的区别:

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

你可能感兴趣的:(Activity和Fragment的onDestory()区别及Finish()的总结)