amplitude / amplitude/Amplitude-Android
StrictMode policy violation on initialize
- Lingua principale
- Java
- Stelle
- 169
- Fork
- 87
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
We've StrictMode enabled in our app and we see the following policy violation:
```
StrictMode policy violation; ~duration=301 ms: android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1504)
at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:251)
at java.io.File.exists(File.java:815)
at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:605)
at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:596)
at android.app.ContextImpl.getDatabasesDir(ContextImpl.java:835)
at android.app.ContextImpl.getDatabasePath(ContextImpl.java:814)
at android.content.ContextWrapper.getDatabasePath(ContextWrapper.java:327)
at com.amplitude.api.DatabaseHelper.(DatabaseHelper.java:80)
at com.amplitude.api.DatabaseHelper.getDatabaseHelper(DatabaseHelper.java:64)
at com.amplitude.api.AmplitudeClient.initialize(AmplitudeClient.java:228)
at com.amplitude.api.AmplitudeClient.initialize(AmplitudeClient.java:202)
at .(AmplitudeClient.kt:22)
```
As seen in https://github.com/amplitude/Amplitude-Android/blob/master/src/com/amplitude/api/AmplitudeClient.java#L252 the database is opened in the thread calling the initialize.
Is there any chance that DB initialization could be moved inside the `runOnLogThread` to avoid accessing disk?
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.