I see quite a good amount of ANRs happening inside androidx.recyclerview.widget.AdapterHelper.findPositionOffset
. The thread is runnable, but I don't see any issue with other threads which are all waiting or native.
Here's the stacktrace of 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)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout (CoordinatorLayout.java:919)
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 android.widget.LinearLayout.setChildFrame (LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout (LinearLayout.java:1582)
at android.view.View.layout (View.java:21931)
at android.view.ViewGroup.layout (ViewGroup.java:6260)
at androidx.drawerlayout.widget.DrawerLayout.onLayout (DrawerLayout.java:1231)
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 android.widget.LinearLayout.setChildFrame (LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout (LinearLayout.java:1582)
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 android.widget.LinearLayout.setChildFrame (LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout (LinearLayout.java:1582)
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 com.android.internal.policy.DecorView.onLayout (DecorView.java:779)
at android.view.View.layout (View.java:21931)
at android.view.ViewGroup.layout (ViewGroup.java:6260)
at android.view.ViewRootImpl.performLayout (ViewRootImpl.java:3081)
at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2591)
at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1722)
at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:7605)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1029)
at android.view.Choreographer.doCallbacks (Choreographer.java:852)
at android.view.Choreographer.doFrame (Choreographer.java:787)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1014)
at android.os.Handler.handleCallback (Handler.java:883)
at android.os.Handler.dispatchMessage (Handler.java:100)
at android.os.Looper.loop (Looper.java:214)
at android.app.ActivityThread.main (ActivityThread.java:7397)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:935)
What else could be causing this if the main
thread isn't the issue?