我看到很多以下崩溃Crashlytics:
Fatal Exception: java.lang.NullPointerException: Attempt to read from null array
at java.util.ArrayList.get(ArrayList.java:310)
at com.google.maps.api.android.lib6.gmm6.vector.gl.drawable.g.a(g.java:56)
at com.google.maps.api.android.lib6.gmm6.vector.gl.drawable.ao.a(ao.java:91)
at com.google.maps.api.android.lib6.gmm6.store.fetch.i.a(i.java:99)
at com.google.maps.api.android.lib6.gmm6.store.fetch.f.a(f.java:3)
at com.google.maps.api.android.lib6.gmm6.store.j.a(j.java:19)
at com.google.maps.api.android.lib6.gmm6.store.k.a(k.java:96)
at com.google.maps.api.android.lib6.gmm6.store.f.handleMessage(f.java:71)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at com.google.maps.api.android.lib6.gmm6.store.k.run(k.java:126)
at com.google.maps.api.android.lib6.gmm6.store.ab.run(ab.java:12)
Run Code Online (Sandbox Code Playgroud)
所有这些都发生在 Android 5 上,主要是在联想设备上。
地图加载在SupportMapFragment.
依赖项(当前最新):
com.google.android.gms:play-services-maps:17.0.0
com.google.maps.android:android-maps-utils:0.6.2
这次崩溃的原因可能是什么?
有时我会得到这个 StrictMode 异常:
2019-01-28 14:18:23.073 4597-4615/my.app.package E/StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
java.lang.Throwable: Explicit termination method 'end' not called
at dalvik.system.CloseGuard.open(CloseGuard.java:223)
at java.util.zip.Inflater.<init>(Inflater.java:106)
at okio.GzipSource.<init>(GzipSource.java:62)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:103)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:213)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at my.app.package.api.network.SetJsonContentTypeHeaderInterceptor.intercept(SetJsonContentTypeHeaderInterceptor.kt:15)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:147)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Run Code Online (Sandbox Code Playgroud)
异常代码中提到的属于我的应用程序的唯一部分是SetJsonContentTypeHeaderInterceptor:
import okhttp3.Interceptor
internal class …Run Code Online (Sandbox Code Playgroud)