旋转屏幕时夜间模式出错

jog*_*ghm 6 lifecycle android themes rotation nullpointerexception

我正在努力解决这个错误,该错误仅在我处于夜间模式(我正在使用 Theme.MaterialComponents.DayNight)和旋转屏幕时发生......在白天模式下它工作正常,没有问题。

尝试从空对象引用上的字段“float android.content.res.Configuration.fontScale”读取

我不知道它来自哪里,我没有使用任何自定义字体。

Uma*_*dil 0

我在很多 Android 7.0 设备上都面临同样的问题,我们的大多数用户在“横向”模式下使用该应用程序,并且他们使用“夜间模式”。

当版本如下时,我没有收到此异常:

implementation "android.arch.lifecycle:viewmodel:1.1.1"
implementation 'android.arch.lifecycle:runtime:1.1.1'
implementation 'android.arch.lifecycle:extensions:1.1.1'
annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
implementation "android.arch.lifecycle:common-java8:1.1.1"
Run Code Online (Sandbox Code Playgroud)

但是当我更新这些库时,我开始收到此错误。

def lifecycle_version = "2.1.0"
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
kapt "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"

Fatal Exception: java.lang.NullPointerException: Attempt to read from field 'float android.content.res.Configuration.fontScale' on a null object reference
       at android.content.res.Configuration.setTo + 752(Configuration.java:752)
       at android.content.res.Configuration.<init> + 739(Configuration.java:739)
       at android.app.ActivityThread.createNewConfigAndUpdateIfNotNull + 4731(ActivityThread.java:4731)
       at android.app.ActivityThread.performConfigurationChanged + 4793(ActivityThread.java:4793)
       at android.app.ActivityThread.performConfigurationChangedForActivity + 4715(ActivityThread.java:4715)
       at android.app.ActivityThread.handleConfigurationChanged + 4891(ActivityThread.java:4891)
       at android.app.ActivityThread$H.handleMessage + 1644(ActivityThread.java:1644)
       at android.os.Handler.dispatchMessage + 110(Handler.java:110)
       at android.os.Looper.loop + 203(Looper.java:203)
       at android.app.ActivityThread.main + 6251(ActivityThread.java:6251)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 1063(ZygoteInit.java:1063)
       at com.android.internal.os.ZygoteInit.main + 924(ZygoteInit.java:924)
Run Code Online (Sandbox Code Playgroud)