在一些新的Android 7.0固件中,可以选择更改屏幕分辨率(例如,用于S7 Edge的Android 7.0固件可以选择在运行时从qhd / fhd / hd切换显示分辨率)。
我的调试尝试显示没有配置更改(因为我的应用正确处理语言更改,但没有更改分辨率)。
如何正确处理这种配置变化?
答案 0 :(得分:5)
如果应用程序的目标是API级别23或更低级别,系统会自动终止其所有后台进程。这意味着如果用户从这样的应用程序切换到打开“设置”屏幕并更改显示大小设置,系统将以与在低内存情况下相同的方式杀死应用程序。如果应用程序具有任何前台进程,系统会按照Handling Runtime Changes中的说明通知这些进程配置更改,就像设备的方向已更改一样。
如果某个应用针对的是Android 7.0,则会按照Handling Runtime Changes中的说明通知其所有进程(前台和后台)配置更改。
与handling configuration changes for multi-window类似,您应该确保处理以下configChanges
:
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
答案 1 :(得分:1)
我发现需要在{7}}中为Android 7中的活动设置未记录的标记density
,以便在屏幕缩放后继续存在。
configChanges