zoukankan      html  css  js  c++  java
  • Android Activity的生命周期

    Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统。

      Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):

    Activity其实是继承了ApplicationContext这个类,如下代码:

     1 view plaincopy to clipboardprint?
     2 public class Activity extends ApplicationContext {  
     3        protected void onCreate(Bundle savedInstanceState);  
     4        protected void onStart();     
     5        protected void onRestart();  
     6        protected void onResume();  
     7        protected void onPause();   
     8        protected void onStop();  
     9        protected void onDestroy();  
    10    }  
    上面七个生命周期方法分别在4个阶段调用按一定的顺序进行调用,这四个阶段如下:
     
    1.在开始Activity:在这个阶段执行三个生命周期方法---onCreate onStart  onResume
     
    2.Activity失去焦点:如果在Avitity获得焦点的情况下进入其他的Activity或应用程序,当前的Activity
    会失去焦点。在这一阶段会依次执行onPause和onStop方法。
     
    3.Activity重新获得焦点:如果Activity重新获得焦点,会依次执行3个生命周期方法--onRestart onStart和onResume方法。
     
    4。关闭Activity:当Activity被关闭时系统会依次执行三个生命周期方法--onPause onStop 和onDestroy.
     
    如果在这四个阶段执行生命周期方法的过程中不发生状态的改变,系统会按上面的描述依次执行这是个阶段的生命周期方法,但如果在执行过程中改变了状态,系统会按更复杂的方式调用生命周期方法。
     
    在执行的过程中可以改变系统的执行轨迹的生命周期方法是:onPause 和onStop。如果在执行pnPuse方法的过程中Activity重新获得了焦点,然后又失去了焦点,系统会不会在执行onStop.方法,而是按如下顺序执行相应的生命周期方法:
        onPuse-->onResume-->onPause
     
    如果在执行onStop 方法的过程中Activity重新获得了焦点,然后又失去了焦点,系统将不会执行onDestroy方法,而是按如下顺序执行相应的的生命周期方法:
    onStop-->onRestart-->onStart-->onResume-->onPause-->onStop
  • 相关阅读:
    java学习网址大全
    Js 提示框
    api帮助文档及常见IT学习网站
    传参给 jsp
    jsp>action
    二级横菜单显示+sitemesh母板应用
    request,session
    map>json
    清空image画布并改变大小填充背景色
    取汉字首字母方法
  • 原文地址:https://www.cnblogs.com/zhen123/p/6085743.html
Copyright © 2011-2022 走看看