处理运行时屏幕分辨率更改

san*_*tar 2 android android-7.0-nougat

在一些新的Android 7.0固件中,可以选择更改屏幕分辨率(例如,用于S7 Edge的Android 7.0固件可以选择在运行时从qhd/fhd/hd切换显示分辨率).

我的调试尝试表明没有配置更改(因为我的应用程序正确处理语言更改,但没有更改分辨率).

如何正确处理这种配置更改?

ian*_*ake 5

根据屏幕缩放文档:

  • 如果应用程序的目标是API级别23或更低,系统会自动终止其所有后台进程.这意味着如果用户从这样的应用程序切换到打开"设置"屏幕并更改" 显示大小"设置,系统将以与在低内存情况下相同的方式杀死应用程序.如果应用程序具有任何前台进程,系统会按照处理运行时更改中的描述通知这些进程配置更改,就像设备的方向已更改一样.

  • 如果应用程序针对Android 7.0,则会按照处理运行时更改中的说明通知其所有进程(前台和后台)配置更改.

处理多窗口的配置更改类似,您应确保处理以下内容configChanges:

android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
Run Code Online (Sandbox Code Playgroud)