现在的位置: 首页 > 综合 > 正文

Android开发学习笔记-5 Activity-4 Activity生命周期

2013年08月12日 ⁄ 综合 ⁄ 共 1892字 ⁄ 字号 评论关闭

Android开发学习笔记-5 Activity-4 Activity生命周期

 

 

1.Activity中7个生命周期方法:

 

public class Activity extends ApplicationContext {

     protected void onCreate(Bundle savedInstanceState);   //初始化设置 布局等内容 ,第一次执行Activity

     protected void onStart();    //当Activity能被看见的时候
    
     protected void onRestart();   //被遮挡后重新显示的时候

     protected void onResume();    //当Activity能获得用户焦点的时候

     protected void onPause();   //Application启动了另外一个Activity的时候

     protected void onStop();   //被第二个Activity完全遮挡的时候,第一个Activity完全不可见的时候

     protected void onDestroy();   //被销毁、释放的时候 ; 调用finish()  ;系统资源不够用的时候

 }

 

例子:一个Activity_A调用另一个Acitivity_B ,然后返回第一个Activity_A,Activity生命周期中的方法调用顺序。

  1. A_onCreate()
  2. A_onStart()
  3. A_onResume()
  4. A_onPause()
  5. B_onCreate()
  6. B_onStart()
  7. B_onResume()
  8. A_onStop()
  9. B_onPause()
  10. A_onRestart()
  11. A_onStart()
  12. A_onResume()
  13. B_onStop()
  14. B_onDestroy()

 

2.Task的基本概念

 

  Task 是一个栈,后进先出。

 

  Task运行过程:

  1. 应用程序启动之后,运行第一个Activity之后,该Activity对象被压入到Stack当中。
  2. 点击Button启动第二个Activity,第二个Activity对象被压入到Stack中。
  3. 点击第二个Activity中的Button,启动第三个Activity,Activity对象被压入Stack中。
  4. 点击第三个Activity中的Button,启动显示第四个Activity,Activity对象被压入Stack中。
  5. 当前显示第四个Activity。
  6. 点击Back按钮则将第四个Activity对象从Stack中弹出,则当前显示第三个Activity。
  7. 继续按Back按钮,接下来从Stack中弹出第三、二、一个Activity对象,显示同样依次是第三、二、一个Activity。

    注:

  •          始终显示栈的最外层的Activity。
  •          如果某Activity跳出栈,则使用finish()方法,点击Back按钮时不返回该跳出的Activity。
  •          Activity在栈中只有压入和弹出两个动作,不能重新排序。

 

 

3.Activity和Task之间的关系

 

   Task中的所有Activity移动到一起组成了一个单元。像一个Application思路。

 

4.对话框风格Activity的使用方法

 

  例子:

 

  添加 android:theme="@android:style/Theme.Dialog"

 

  <activity android:name=".SecondActivity"
            android:label="@string/title2"
            android:theme="@android:style/Theme.Dialog">
  </activity>

 

  则该Activity变成对话框样式。

 

 

  例子:一个Activity_A调用另一个Acitivity_B(对话框样式) ,然后返回第一个Activity_A,Activity生命周期中的方法调用顺序。

  1. A_onCreate()
  2. A_onStart()
  3. A_onResume()
  4. A_onPause()
  5. B_onCreate()
  6. B_onStart()
  7. B_onResume()
  8. A_onStop()
  9. B_onPause()
  10. A_onRestart()
  11. A_onStart()
  12. A_onResume()
  13. B_onStop()
  14. B_onDestroy()

 5.Android OS 可能释放的Activiy ,当资源不足时。

  • onPause()
  • onStonp()
  • onDestroy()

 

 

 

抱歉!评论已关闭.