Skip to content

Maps compose is doing disk reads on the main thread and slows down map to a crawl when detectDiskReads is enabled #732

@matejdro

Description

@matejdro

When StrictMode.ThredPolicy.detectDiskReads() is enabled, app will report a following violation:

android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1728)
at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:301)
at java.io.File.isDirectory(File.java:859)
at dalvik.system.DexPathList.makeDexElements(DexPathList.java:376)
at dalvik.system.DexPathList.<init>(DexPathList.java:166)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:160)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:105)
at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:71)
at dalvik.system.DelegateLastClassLoader.<init>(DelegateLastClassLoader.java:106)
at dalvik.system.DelegateLastClassLoader.<init>(DelegateLastClassLoader.java:56)
at com.google.android.gms.dynamite.DynamiteModule.zza(com.google.android.gms:play-services-basement@@18.3.0:17)
at com.google.android.gms.dynamite.zze.zzb(com.google.android.gms:play-services-basement@@18.3.0:1)
at com.google.android.gms.dynamite.zzf.selectModule(com.google.android.gms:play-services-basement@@18.3.0:1)
at com.google.android.gms.dynamite.DynamiteModule.load(com.google.android.gms:play-services-basement@@18.3.0:7)
at com.google.android.gms.maps.internal.zzcc.zzc(com.google.android.gms:play-services-maps@@19.2.0:3)
at com.google.android.gms.maps.internal.zzcc.zzd(com.google.android.gms:play-services-maps@@19.2.0:2)
at com.google.android.gms.maps.internal.zzcc.zza(com.google.android.gms:play-services-maps@@19.2.0:4)
at com.google.android.gms.maps.MapsApiSettings.addInternalUsageAttributionId(com.google.android.gms:play-services-maps@@19.2.0:1)
at com.google.maps.android.compose.GoogleMapKt.GoogleMap$lambda$13$lambda$12(GoogleMap.kt:155)
at com.google.maps.android.compose.GoogleMapKt.$r8$lambda$0UwGEE3-fToITf8TBLM6NsM-WAI(Unknown Source:0)
at com.google.maps.android.compose.GoogleMapKt$$ExternalSyntheticLambda4.invoke(D8$$SyntheticClass:0)
at androidx.compose.ui.viewinterop.ViewFactoryHolder.<init>(AndroidView.android.kt:329)
at androidx.compose.ui.viewinterop.AndroidView_androidKt$createAndroidViewNodeFactory$1$1.invoke(AndroidView.android.kt:261)
at androidx.compose.ui.viewinterop.AndroidView_androidKt$createAndroidViewNodeFactory$1$1.invoke(AndroidView.android.kt:260)

This is just for displaying a basic map. With version 6.7.1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    releasedtriage meI really want to be triaged.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions