Closed
Description
Everytime the SDK initializes we get a bunch of strict mode violations.
It seems like the SDK is doing some IO in onPostExecute of an AsyncTask. It would be great if this IO could be done on a different thread so it doesn't slow down the user experience.
I've added the stack trace below.
01-21 19:15:06.023 18420 18420 D StrictMode: at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1556)
01-21 19:15:06.023 18420 18420 D StrictMode: at libcore.io.BlockGuardOs.access(BlockGuardOs.java:69)
01-21 19:15:06.023 18420 18420 D StrictMode: at libcore.io.ForwardingOs.access(ForwardingOs.java:73)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.app.ActivityThread$AndroidOs.access(ActivityThread.java:7246)
01-21 19:15:06.023 18420 18420 D StrictMode: at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:281)
01-21 19:15:06.023 18420 18420 D StrictMode: at java.io.File.exists(File.java:815)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:645)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:636)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.app.ContextImpl.getFilesDir(ContextImpl.java:681)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.app.ContextImpl.fileList(ContextImpl.java:792)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.content.ContextWrapper.fileList(ContextWrapper.java:233)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.shared.Cache.exists(Cache.java:69)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DatafileCache.exists(DatafileCache.java:65)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DefaultDatafileHandler.isDatafileSaved(DefaultDatafileHandler.java:225)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.sdk.OptimizelyManager.isDatafileCached(OptimizelyManager.java:412)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.sdk.OptimizelyManager.getDatafile(OptimizelyManager.java:281)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.sdk.OptimizelyManager$2.onDatafileLoaded(OptimizelyManager.java:343)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DefaultDatafileHandler$1.onDatafileLoaded(DefaultDatafileHandler.java:78)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DatafileLoader.notify(DatafileLoader.java:81)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DatafileLoader.access$000(DatafileLoader.java:35)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DatafileLoader$RequestDatafileFromClientTask.onPostExecute(DatafileLoader.java:134)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DatafileLoader$RequestDatafileFromClientTask.onPostExecute(DatafileLoader.java:85)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.os.AsyncTask.finish(AsyncTask.java:755)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.os.AsyncTask.access$900(AsyncTask.java:192)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.os.Handler.dispatchMessage(Handler.java:107)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.os.Looper.loop(Looper.java:214)
01-21 19:15:06.023 18420 18420 D StrictMode: at android.app.ActivityThread.main(ActivityThread.java:7356)
01-21 19:15:06.023 18420 18420 D StrictMode: at java.lang.reflect.Method.invoke(Native Method)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
01-21 19:15:06.023 18420 18420 D StrictMode: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
01-21 19:15:06.024 18420 18420 D StrictMode: StrictMode policy violation; ~duration=106 ms: android.os.strictmode.DiskReadViolation
01-21 19:15:06.024 18420 18420 D StrictMode: at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1556)
01-21 19:15:06.024 18420 18420 D StrictMode: at java.io.UnixFileSystem.list(UnixFileSystem.java:344)
01-21 19:15:06.024 18420 18420 D StrictMode: at java.io.File.list(File.java:1131)
01-21 19:15:06.024 18420 18420 D StrictMode: at android.os.FileUtils.listOrEmpty(FileUtils.java:1212)
01-21 19:15:06.024 18420 18420 D StrictMode: at android.app.ContextImpl.fileList(ContextImpl.java:792)
01-21 19:15:06.024 18420 18420 D StrictMode: at android.content.ContextWrapper.fileList(ContextWrapper.java:233)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.shared.Cache.exists(Cache.java:69)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DatafileCache.exists(DatafileCache.java:65)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DefaultDatafileHandler.isDatafileSaved(DefaultDatafileHandler.java:225)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.sdk.OptimizelyManager.isDatafileCached(OptimizelyManager.java:412)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.sdk.OptimizelyManager.getDatafile(OptimizelyManager.java:281)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.sdk.OptimizelyManager$2.onDatafileLoaded(OptimizelyManager.java:343)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DefaultDatafileHandler$1.onDatafileLoaded(DefaultDatafileHandler.java:78)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DatafileLoader.notify(DatafileLoader.java:81)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DatafileLoader.access$000(DatafileLoader.java:35)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DatafileLoader$RequestDatafileFromClientTask.onPostExecute(DatafileLoader.java:134)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.optimizely.ab.android.datafile_handler.DatafileLoader$RequestDatafileFromClientTask.onPostExecute(DatafileLoader.java:85)
01-21 19:15:06.024 18420 18420 D StrictMode: at android.os.AsyncTask.finish(AsyncTask.java:755)
01-21 19:15:06.024 18420 18420 D StrictMode: at android.os.AsyncTask.access$900(AsyncTask.java:192)
01-21 19:15:06.024 18420 18420 D StrictMode: at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772)
01-21 19:15:06.024 18420 18420 D StrictMode: at android.os.Handler.dispatchMessage(Handler.java:107)
01-21 19:15:06.024 18420 18420 D StrictMode: at android.os.Looper.loop(Looper.java:214)
01-21 19:15:06.024 18420 18420 D StrictMode: at android.app.ActivityThread.main(ActivityThread.java:7356)
01-21 19:15:06.024 18420 18420 D StrictMode: at java.lang.reflect.Method.invoke(Native Method)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
01-21 19:15:06.024 18420 18420 D StrictMode: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
01-21 19:15:06.024 18420 18690 I UserProfileCache: Loaded user profile cache from disk.```
Metadata
Metadata
Assignees
Labels
No labels