Android7.0多窗口模式初探

2016年8月,谷歌推出android7.0牛轧糖系列,其中包含有的新功能就是多窗口模式。如图所示:

Android7.0多窗口模式初探_第1张图片

(图片来源:android官网)


今天主要来探究下在开启多窗口模式下,activity生命周期经历了怎样的变化。

代码如下:

public class MoonMultWindow extends AppCompatActivity {
    private static final String TAG = "MoonMultWindow";
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_moon_mult_window);

        Log.d(TAG,"onCreate");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.d(TAG,"onStart");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.d(TAG, "onResume");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.d(TAG, "onPause");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.d(TAG, "onStop");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "onDestroy");
    }
}

开启多窗口模式:长按Overview

gif效果如下:

Android7.0多窗口模式初探_第2张图片


下面是开启多窗口模式时生命周期的变化:

07-14 13:25:56.762 21632-21632/zsf.example.com.myalltest D/MainActivity: onPause
07-14 13:25:57.672 21632-21632/zsf.example.com.myalltest D/MainActivity: onStop
07-14 13:25:57.672 21632-21632/zsf.example.com.myalltest D/MainActivity: onDestroy
07-14 13:25:57.725 21632-21632/zsf.example.com.myalltest D/MainActivity: onCreate
07-14 13:25:57.726 21632-21632/zsf.example.com.myalltest D/MainActivity: onStart
07-14 13:25:57.727 21632-21632/zsf.example.com.myalltest D/MainActivity: onResume
07-14 13:25:57.728 21632-21632/zsf.example.com.myalltest D/MainActivity: onPause


关闭多窗口模式生命周期变化:

07-14 13:26:03.882 21632-21632/zsf.example.com.myalltest D/MainActivity: onStop
07-14 13:26:03.883 21632-21632/zsf.example.com.myalltest D/MainActivity: onDestroy
07-14 13:26:03.894 21632-21632/zsf.example.com.myalltest D/MainActivity: onCreate
07-14 13:26:03.895 21632-21632/zsf.example.com.myalltest D/MainActivity: onStart
07-14 13:26:03.896 21632-21632/zsf.example.com.myalltest D/MainActivity: onResume
07-14 13:26:03.896 21632-21632/zsf.example.com.myalltest D/MainActivity: onPause
07-14 13:26:04.393 21632-21632/zsf.example.com.myalltest D/MainActivity: onResume

禁用多窗口模式在AndroidManifest.xml中的加入如下属性即可:

android:resizeableActivity="false"


你可能感兴趣的:(Android学习中的笔记)