Android7.0多窗口模式初探

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


(图片来源: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效果如下:



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

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中的<application></application>加入如下属性即可:

android:resizeableActivity="false"


发布了105 篇原创文章 · 获赞 35 · 访问量 5万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章