Android7.0多窗口模式初探

本文探讨了在Android 7.0牛轧糖系统的多窗口模式中,Activity生命周期的具体变化。通过示例代码展示了当开启及关闭多窗口模式时,Activity从创建到销毁过程中各个回调方法被调用的顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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"


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值