Open
Description
What happened?
We see lot of strict mode violations on Appstart on Android devices
Following is to see in LogCAT
StrictMode policy violation; ~duration=558 ms: android.os.strictmode.DiskReadViolation
These times are really to long ... other entries have only times up to 20ms
Steps to reproduce?
Create an iOS App and launch
add
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectAll()
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.detectLeakedClosableObjects()
.penaltyLog()
.penaltyDeath()
.build());
super.onCreate(savedInstanceState);
to Mainactivity on create
What did you expect to happen?
I expect to avoid these violations and decreasing accesstimes - because in my case location service can't start forgroundservices and an ANR is reported.
OneSignal Flutter SDK version
Release 5.3.2 and 5.30 tested
Which platform(s) are affected?
- iOS
- Android
Relevant log output
2025-05-13 15:31:57.994 31092-31092 StrictMode de....enight.bladenight_app_flutter D StrictMode policy violation; ~duration=580 ms: android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1666)
at libcore.io.BlockGuardOs.access(BlockGuardOs.java:74)
at libcore.io.ForwardingOs.access(ForwardingOs.java:128)
at android.app.ActivityThread$AndroidOs.access(ActivityThread.java:8917)
at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:332)
at java.io.File.exists(File.java:829)
at android.app.ContextImpl.getDataDir(ContextImpl.java:3359)
at android.content.ContextWrapper.getDataDir(ContextWrapper.java:290)
at com.onesignal.core.internal.preferences.PreferenceStoreFix.ensureNoObfuscatedPrefStore(PreferenceStoreFix.kt:24)
at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:198)
at com.onesignal.OneSignal.initWithContext(OneSignal.kt:135)
at com.onesignal.flutter.OneSignalPlugin.initWithContext(OneSignalPlugin.java:98)
at com.onesignal.flutter.OneSignalPlugin.onMethodCall(OneSignalPlugin.java:81)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:9063)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2025-05-13 15:31:57.996 31092-31092 StrictMode de....enight.bladenight_app_flutter D StrictMode policy violation; ~duration=579 ms: android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1666)
at libcore.io.BlockGuardOs.access(BlockGuardOs.java:74)
at libcore.io.ForwardingOs.access(ForwardingOs.java:128)
at android.app.ActivityThread$AndroidOs.access(ActivityThread.java:8917)
at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:332)
at java.io.File.exists(File.java:829)
at com.onesignal.core.internal.preferences.PreferenceStoreFix.ensureNoObfuscatedPrefStore(PreferenceStoreFix.kt:31)
at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:198)
at com.onesignal.OneSignal.initWithContext(OneSignal.kt:135)
at com.onesignal.flutter.OneSignalPlugin.initWithContext(OneSignalPlugin.java:98)
at com.onesignal.flutter.OneSignalPlugin.onMethodCall(OneSignalPlugin.java:81)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:9063)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2025-05-13 15:31:57.998 31092-31092 StrictMode de....enight.bladenight_app_flutter D StrictMode policy violation; ~duration=579 ms: android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1666)
at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:301)
at java.io.File.isDirectory(File.java:859)
at com.onesignal.core.internal.preferences.PreferenceStoreFix.ensureNoObfuscatedPrefStore(PreferenceStoreFix.kt:31)
at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:198)
at com.onesignal.OneSignal.initWithContext(OneSignal.kt:135)
at com.onesignal.flutter.OneSignalPlugin.initWithContext(OneSignalPlugin.java:98)
at com.onesignal.flutter.OneSignalPlugin.onMethodCall(OneSignalPlugin.java:81)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:9063)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2025-05-13 15:31:58.003 31092-31092 StrictMode de....enight.bladenight_app_flutter D StrictMode policy violation; ~duration=558 ms: android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1666)
at libcore.io.BlockGuardOs.access(BlockGuardOs.java:74)
at libcore.io.ForwardingOs.access(ForwardingOs.java:128)
at android.app.ActivityThread$AndroidOs.access(ActivityThread.java:8917)
at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:332)
at java.io.File.exists(File.java:829)
at android.app.ContextImpl.getDataDir(ContextImpl.java:3359)
at android.app.ContextImpl.getPreferencesDir(ContextImpl.java:764)
at android.app.ContextImpl.getSharedPreferencesPath(ContextImpl.java:1004)
at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:597)
at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:230)
at com.onesignal.core.internal.preferences.impl.PreferencesService.getSharedPrefsByName(PreferencesService.kt:234)
at com.onesignal.core.internal.preferences.impl.PreferencesService.get(PreferencesService.kt:134)
at com.onesignal.core.internal.preferences.impl.PreferencesService.getString(PreferencesService.kt:42)
at com.onesignal.common.modeling.ModelStore.load(ModelStore.kt:170)
at com.onesignal.common.modeling.SimpleModelStore.<init>(SimpleModelStore.kt:23)
at com.onesignal.core.internal.config.ConfigModelStore.<init>(ConfigModelStore.kt:8)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at com.onesignal.common.services.ServiceRegistrationReflection.resolve(ServiceRegistration.kt:89)
at com.onesignal.common.services.ServiceProvider.getServiceOrNull(ServiceProvider.kt:79)
at com.onesignal.common.services.ServiceProvider.getService(ServiceProvider.kt:67)
at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:523)
at com.onesignal.OneSignal.initWithContext(OneSignal.kt:135)
at com.onesignal.flutter.OneSignalPlugin.initWithContext(OneSignalPlugin.java:98)
at com.onesignal.flutter.OneSignalPlugin.onMethodCall(OneSignalPlugin.java:81)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:9063)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2025-05-13 15:31:58.009 31092-31092 StrictMode de....enight.bladenight_app_flutter D StrictMode policy violation; ~duration=558 ms: android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1666)
at libcore.io.BlockGuardOs.access(BlockGuardOs.java:74)
at libcore.io.ForwardingOs.access(ForwardingOs.java:128)
at android.app.ActivityThread$AndroidOs.access(ActivityThread.java:8917)
at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:332)
at java.io.File.exists(File.java:829)
at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:819)
at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:810)
at android.app.ContextImpl.getPreferencesDir(ContextImpl.java:766)
at android.app.ContextImpl.getSharedPreferencesPath(ContextImpl.java:1004)
at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:597)
at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:230)
at com.onesignal.core.internal.preferences.impl.PreferencesService.getSharedPrefsByName(PreferencesService.kt:234)
at com.onesignal.core.internal.preferences.impl.PreferencesService.get(PreferencesService.kt:134)
at com.onesignal.core.internal.preferences.impl.PreferencesService.getString(PreferencesService.kt:42)
at com.onesignal.common.modeling.ModelStore.load(ModelStore.kt:170)
at com.onesignal.common.modeling.SimpleModelStore.<init>(SimpleModelStore.kt:23)
at com.onesignal.core.internal.config.ConfigModelStore.<init>(ConfigModelStore.kt:8)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at com.onesignal.common.services.ServiceRegistrationReflection.resolve(ServiceRegistration.kt:89)
at com.onesignal.common.services.ServiceProvider.getServiceOrNull(ServiceProvider.kt:79)
at com.onesignal.common.services.ServiceProvider.getService(ServiceProvider.kt:67)
at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:523)
at com.onesignal.OneSignal.initWithContext(OneSignal.kt:135)
at com.onesignal.flutter.OneSignalPlugin.initWithContext(OneSignalPlugin.java:98)
at com.onesignal.flutter.OneSignalPlugin.onMethodCall(OneSignalPlugin.java:81)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:9063)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2025-05-13 15:31:58.012 31092-31092 StrictMode de....enight.bladenight_app_flutter D StrictMode policy violation; ~duration=556 ms: android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1666)
at android.app.SharedPreferencesImpl.awaitLoadedLocked(SharedPreferencesImpl.java:275)
at android.app.SharedPreferencesImpl.getString(SharedPreferencesImpl.java:301)
at com.onesignal.core.internal.preferences.impl.PreferencesService.get(PreferencesService.kt:138)
at com.onesignal.core.internal.preferences.impl.PreferencesService.getString(PreferencesService.kt:42)
at com.onesignal.common.modeling.ModelStore.load(ModelStore.kt:170)
at com.onesignal.common.modeling.SimpleModelStore.<init>(SimpleModelStore.kt:23)
at com.onesignal.core.internal.config.ConfigModelStore.<init>(ConfigModelStore.kt:8)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at com.onesignal.common.services.ServiceRegistrationReflection.resolve(ServiceRegistration.kt:89)
at com.onesignal.common.services.ServiceProvider.getServiceOrNull(ServiceProvider.kt:79)
at com.onesignal.common.services.ServiceProvider.getService(ServiceProvider.kt:67)
at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:523)
at com.onesignal.OneSignal.initWithContext(OneSignal.kt:135)
at com.onesignal.flutter.OneSignalPlugin.initWithContext(OneSignalPlugin.java:98)
at com.onesignal.flutter.OneSignalPlugin.onMethodCall(OneSignalPlugin.java:81)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:9063)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Code of Conduct
- I agree to follow this project's Code of Conduct