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"