lingver icon indicating copy to clipboard operation
lingver copied to clipboard

ANR when calling Lingver.init in Application.onCreate

Open joelfernandes19 opened this issue 2 years ago • 1 comments

We're seeing a lot of ANRs being reported that are caused by Lingver init call. This is occurring during the process creation time (cold start), when calling Lingver.init(context) on the Application.onCreate

Unable to repro this. Is there any resolution to this?


Lingver SDK version: 1.3.0

Stats: 100% of them are background ANRs

OS:

  • 50% in Android 11
  • 50% in Android 12

Devices:

  • 76% in Samsung
  • 9% in Vivo
  • 6% in Xiaomi
  • 9% others

main (waiting)
tid=1 systid=27706
Triggered ANR
Root blocking
IO Root blocking

Stack trace
java.lang.Object.wait (Object.java)
java.lang.Object.wait (Object.java:442)
java.lang.Object.wait (Object.java:568)
android.app.SharedPreferencesImpl.awaitLoadedLocked (SharedPreferencesImpl.java:279)
android.app.SharedPreferencesImpl.getBoolean (SharedPreferencesImpl.java:344)
com.yariksoffice.lingver.store.PreferenceLocaleStore.isFollowingSystemLocale (PreferenceLocaleStore.kt:69)
com.yariksoffice.lingver.Lingver.initialize$com_yariksoffice_lingver_library (Lingver.kt:120)
com.yariksoffice.lingver.Lingver$Companion.init (Lingver.kt:192)
com.yariksoffice.lingver.Lingver$Companion.init (Lingver.kt:182)
com.yariksoffice.lingver.Lingver$Companion.init$default (Lingver.kt:181)
com.myapp.main.MyApplication.onCreate (MyApplication.java:80)
android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1211)
android.app.ActivityThread.handleBindApplication (ActivityThread.java:7506)
android.app.ActivityThread.access$1600 (ActivityThread.java:310)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:2281)
android.os.Handler.dispatchMessage (Handler.java:106)
android.os.Looper.loopOnce (Looper.java:226)
android.os.Looper.loop (Looper.java:313)
android.app.ActivityThread.main (ActivityThread.java:8663)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:567)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1135) 

joelfernandes19 avatar Jul 06 '22 04:07 joelfernandes19

Hey @joelfernandes19

Indeed, the library performs a file read (from shared preferences) during initialization, but that should not make a significant performance impact on your app. Unfortunately, I don't see how we can avoid this call.

Is it reported by Google Play? I'm curious why the report is for Android 11/12 only. Do you support other versions?

YarikSOffice avatar Jul 31 '22 13:07 YarikSOffice

Closed due to inactivity

YarikSOffice avatar Feb 25 '23 15:02 YarikSOffice