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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章