学习笔记

Android开发艺术探索_1Activity
Publish: 2018/8/6   

Activity的是生命周期和启动模式

生命周期

正常情况的执行顺序

  1. onCreate:表示Activity正在被创建,这是生命周期的第一个方法。
  2. onRestart:表示Activity正在重新启动。一般情况下,当当前Activity从不可见重新变为可见状态时,就会被调用。
  3. onStart:表示Activity正在被启动,这时Activity已经可见了,但是还没有出现在前台,无法和用户交互。
  4. onResume:表示Activity已经可见了,并且出现在前台并开始活动。
  5. onPause:表示activity正在停止,正常情况下,紧接着onStop就会被调用。在特殊情况下,如果这个时候快速地再回到当前Activity,那么onResume会被调用。
  6. onStop:表示Activity即将停止。
  7. onDestory:表示Activity即将被销毁。

出现不同执行顺序得情况

异常情况的执行顺序

启动模式

指定启动模式的方式

这种方式无法直接为Actvitiy设定FLAG_ACTIVITY_CLEAR_TOP表示。

 <activity
    android:name=".MainActivity"
    android:launchMode="singleTask" />
 Intent intent=new Intent();
 intent.setClass(Main1Activity.class,SecondActivity.class);
 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 startActivity(intent);

IntentFilter的匹配规则

 <activity
    android:name=".ui.LoginActivity"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:screenOrientation="portrait"
    android:theme="@style/AppTheme.Transparent">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <data android:mimeType="text/plain"/>
    </intent-filter>
 </activity>

Intent中的action必须能够和过滤规则中的action匹配(字符串值完全一样),如果一个过滤规则中有多个action,那么只要Intent中的action能够匹配过滤规则中的任意一个action即可。



← Android源码设计模式_1面向对象的六大原则 ButterKnife源码分析 →

Powered by Hexo, Theme designs by @hpcslag.
Style-Framework Tocas-UI designs by @yamioldmel