ConfigChanges属性って、Androidでは何の役割をするの?

AndroidではconfigChanges属性は、特定の構成変更があった際にActivityがそれらの変更を処理すべきかどうか、またはシステムが自動的に処理すべきかを指定するために使用します。

ActivityのconfigChanges属性に画面の向きやサイズなどの特定の設定変更を指定しておくと、その設定変更時にActivityが再作成されずにonConfigurationChanged()メソッドが呼び出されて設定変更に対処します。これによりActivityの再作成と初期化の手間が省かれ、パフォーマンスが向上します。

ただし、ActivityのconfigChanges属性が「keyboardHidden」や「orientation|keyboardHidden」などの値に設定されている場合、Activityは引き続き再作成され、再作成前にonConfigurationChanged()メソッドが呼び出されます。これは、キーボードの非表示状態の変更がレイアウトリソースの選択に影響を与える可能性があるため、Activityの再作成が必要になります。

要するに、configChanges プロパティを設定することで、Activity が特定の設定変更時に再生成と再初期化を不要とし、パフォーマンスを向上させることができる。

bannerAds