我观察到我的应用程序用户发生了一些崩溃,这与配置更改和重新创建的 Activity 相关,我无法重现它。问题似乎出在 Android 类内部,因此我没有机会直接修复它。
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 + 904(Configuration.java:904)
at android.content.res.Configuration.(Configuration.java:891)
at android.app.ActivityThread.createNewConfigAndUpdateIfNotNull + 5133(ActivityThread.java:5133)
at android.app.ActivityThread.performConfigurationChanged + 5203(ActivityThread.java:5203)
at android.app.ActivityThread.performConfigurationChangedForActivity + 5117(ActivityThread.java:5117)
at android.app.ActivityThread.handleResumeActivity + 3994(ActivityThread.java:3994)
at android.app.ActivityThread.handleLaunchActivity + 3070(ActivityThread.java:3070)
at android.app.ActivityThread.handleRelaunchActivity + 5006(ActivityThread.java:5006)
at android.app.ActivityThread.-wrap21(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage + 1665(ActivityThread.java:1665)
at android.os.Handler.dispatchMessage + 102(Handler.java:102)
at android.os.Looper.loop + 154(Looper.java:154)
at android.app.ActivityThread.main + 6816(ActivityThread.java:6816)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 1563(ZygoteInit.java:1563)
at com.android.internal.os.ZygoteInit.main + 1451(ZygoteInit.java:1451)
Run Code Online (Sandbox Code Playgroud)
由于我无法重新创建它,因此在 Goggle …
我看到内部发生了大量的 ANR androidx.recyclerview.widget.AdapterHelper.findPositionOffset。该线程是可运行的,但我没有看到其他所有正在等待或本机的线程有任何问题。
这是堆栈跟踪main:
"main" prio=5 tid=1 Runnable
at androidx.recyclerview.widget.AdapterHelper.findPositionOffset (AdapterHelper.java:472)
at androidx.recyclerview.widget.AdapterHelper.canFindInPreLayout (AdapterHelper.java:422)
at androidx.recyclerview.widget.AdapterHelper.applyUpdate (AdapterHelper.java:194)
at androidx.recyclerview.widget.AdapterHelper.preProcess (AdapterHelper.java:105)
at androidx.recyclerview.widget.RecyclerView.processAdapterUpdatesAndSetAnimationFlags (RecyclerView.java:3793)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep1 (RecyclerView.java:4039)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout (RecyclerView.java:3849)
at androidx.recyclerview.widget.RecyclerView.onLayout (RecyclerView.java:4404)
at android.view.View.layout (View.java:21931)
at android.view.ViewGroup.layout (ViewGroup.java:6260)
at android.widget.FrameLayout.layoutChildren (FrameLayout.java:332)
at android.widget.FrameLayout.onLayout (FrameLayout.java:270)
at android.view.View.layout (View.java:21931)
at android.view.ViewGroup.layout (ViewGroup.java:6260)
at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout (SwipeRefreshLayout.java:689)
at android.view.View.layout (View.java:21931)
at android.view.ViewGroup.layout (ViewGroup.java:6260)
at android.widget.FrameLayout.layoutChildren (FrameLayout.java:332)
at android.widget.FrameLayout.onLayout (FrameLayout.java:270)
at android.view.View.layout (View.java:21931)
at android.view.ViewGroup.layout (ViewGroup.java:6260)
at androidx.coordinatorlayout.widget.CoordinatorLayout.layoutChild (CoordinatorLayout.java:1213)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayoutChild (CoordinatorLayout.java:899) …Run Code Online (Sandbox Code Playgroud)