Android中Activity的生命周期探讨

1、完整生命周期

上图是Android Activity的生命周期图,其中Resumed、Paused、Stopped状态是静态的,这三个状态下的Activity存在时间较长。

(1)Resumed:在此状态时,用户可以与Activity进行交互,Activity在最前端

(2)Paused:在此状态时,Activity被另外一个Activity遮盖,此Activity不可接受用户输入信息。另外一个Activity来到最前面,半透明的,但并不会覆盖整个屏幕。

(3)Stopped:在此状态时,Activity完全被隐藏,不可见。保留当前信息,Activity不执行任何代码。

(4)Created与Started:系统调用onCreate()后迅速调用onStart(),然后迅速执行onResume()。

2、主Activity

用户可以指定程序启动的主界面,此时被声明为“launcher或main”Activity的onCreate()方法被调用,成为程序的入口函数。该入口Activity可以在AndroidManifest.xml中定义主Activity。此时,主Activity必须使用以下标签声明:

<activity android:name=".MainActivity" android:label="@string/app_name">

    <intent-filter>

        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />

    </intent-filter>

</activity>

3、一个新的Activity实例

系统首先调用新Activity的onCreate()方法,所以,我们必须实现onCreate()方法。如:声明UI元素、定义成员变量、配置UI等。但是事情不宜太多,避免启动程序太久而看不到界面。

TextView mTextView; // Member variable for text view in the layout

@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    // Set the user interface layout for this Activity

    // The layout file is defined in the project res/layout/main_activity.xml

file

    setContentView(R.layout.main_activity);

    // Initialize member TextView so we can manipulate it later

    mTextView = (TextView) findViewById(R.id.text_message);

    // Make sure we're running on Honeycomb or higher to use ActionBar APIs

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

        // For the main activity, make sure the app icon in the action bar

        // does not behave as a button

        ActionBar actionBar = getActionBar();

        actionBar.setHomeButtonEnabled(false);

    }

}

以上是 Android中Activity的生命周期探讨 的全部内容, 来源链接: utcz.com/z/356517.html

回到顶部