Android 7.0マルチウィンドウモードのライフサイクルとマルチウィンドウモードを無効にする方法


携帯電話の画面が大きくなるにつれて、グーグルはAndroid 7にいます.0はまた、マルチウィンドウモードをどのように起動するかという新しい機能をもたらしました.アンドロイドには3つの本体ボタンがあり、携帯電話の右側のボタンを長く押すとマルチウィンドウモードに入ることができます.このモードでは、複数のアプリケーションが同時に実行され、開発者として、フォーカスを切り替えるときのライフサイクルがどのように実行されているかを知る必要があります.
ライフサイクルの詳細:
アプリケーションの開始
12-21 22:26:34.727 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onCreate: 
12-21 22:26:34.727 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onStart: 
12-21 22:26:34.728 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onResume: 
右ボタンをクリックし、長押しする
12-21 22:26:54.400 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onPause: 
12-21 22:26:54.480 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onStop: 
12-21 22:26:54.480 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onDestroy: 
12-21 22:26:54.493 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onCreate: 
12-21 22:26:54.493 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onStart: 
12-21 22:26:54.496 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onResume: 
12-21 22:26:54.496 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onPause: 

他のアプリケーションを起動したり、現在のアプリケーションをクリックしたりすることができます.
1.現在のアプリケーションをクリック
12-21 22:28:45.510 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onResume: 

2.他のアプリケーションをクリック
12-21 22:29:14.083 7046-7046/com.example.dongcai.multiscreendemo2 I/second_app: onPause: 

以上が現在のappのライフサイクルです.現在のappでない場合は、次のようになります.
1.直接閉じる
12-21 22:39:19.303 16532-16532/com.example.dongcai.multiscreendemo2 I/second_app: onDestroy: 

2.クリックして起動
12-21 22:42:21.953 16889-16889/com.example.dongcai.multiscreendemo2 I/second_app: onRestart: 
12-21 22:42:21.954 16889-16889/com.example.dongcai.multiscreendemo2 I/second_app: onStart: 
12-21 22:42:21.955 16889-16889/com.example.dongcai.multiscreendemo2 I/second_app: onResume:

もちろん、ここでアプリケーションがdestoryになったら、onCreateメソッドの再構築が実行されます.
12-21 22:46:51.997 16889-16889/com.example.dongcai.multiscreendemo2 I/second_app: onCreate: 
12-21 22:46:51.997 16889-16889/com.example.dongcai.multiscreendemo2 I/second_app: onStart: 
12-21 22:46:51.998 16889-16889/com.example.dongcai.multiscreendemo2 I/second_app: onResume: 

はい、ライフサイクルを通じて、マルチウィンドウモードに入るとアクティビティが再作成されることがわかりました.もちろん、これはデフォルトです.禁止を設定することができます.
AndroidManifestでxmlインベントリファイルのActivityラベル構成
 
  
android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"

見覚えがあるのではないでしょうか.はい、横長画面の切り替えを禁止します.これにより、構成後、横長画面モードでもマルチウィンドウモードでもアクティビティは再作成されません.画面に変化イベントが発生すると、ActivityのonConfigurationChanged()メソッドが呼び出され、いくつかのロジックを処理する場合は、このメソッドを書き換えることができます.
マルチウィンドウモードを無効にするには:
API 24以上では、アプリケーションまたはactivityタグの下に無効を設定することができる.
 
  
android:resizeableActivity="false"

API 24以下では、Androidは、プロジェクトが指定したtargetSdkValersonが24未満であり、アクティビティが縦横画面の切り替えが許されない場合、このアプリケーションもマルチウィンドウモードをサポートしないことを規定している.
縦横スクリーンを許可しないのは非常に簡単で、1行の構成もできて、Activityラベルの下で設定します:
android:screenOrientation="portrait"