android - 尝试在谷歌地图 V2 android 应用程序中获取空数组的长度

标签 android google-maps

我目前正在使用 google maps api 开发一个 android 应用程序,我有时会无缘无故地发生奇怪的崩溃(在我看来)。这是崩溃日志:

12-02 16:38:57.071  20796-21137/com.appsolute.ParkYoo E/AndroidRuntime﹕ FATAL EXCEPTION: GLThread 4623
    Process: com.appsolute.ParkYoo, PID: 20796
    java.lang.NullPointerException: Attempt to get length of null array
            at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:399)
            at java.nio.ByteBufferAsShortBuffer.put(ByteBufferAsShortBuffer.java:159)
            at com.google.maps.api.android.lib6.gmm6.o.c.a.d.d(Unknown Source)
            at com.google.maps.api.android.lib6.gmm6.o.c.a.d.a(Unknown Source)
            at com.google.maps.api.android.lib6.gmm6.o.a.a(Unknown Source)
            at com.google.maps.api.android.lib6.gmm6.o.c.b(Unknown Source)
            at com.google.maps.api.android.lib6.gmm6.o.c.a(Unknown Source)
            at com.google.maps.api.android.lib6.gmm6.o.l.a(Unknown Source)
            at com.google.maps.api.android.lib6.gmm6.o.l.b(Unknown Source)
            at com.google.maps.api.android.lib6.gmm6.o.cw.k(Unknown Source)
            at com.google.maps.api.android.lib6.gmm6.o.cw.run(Unknown Source)

如您所见,崩溃发生在 google api 中,但代码已被混淆,因此除了前 2 行之外,我没有更多关于此的信息:

final void put(short[] src, int srcOffset, int shortCount) {
    checkIsAccessible();
    int byteCount = checkPutBounds(SizeOf.SHORT, src.length, srcOffset, shortCount); // here is the error
    this.block.pokeShortArray(offset + position, src, srcOffset, shortCount, order.needsSwap);
    position += byteCount;
  }

@Override
    public ShortBuffer put(short[] src, int srcOffset, int shortCount) {
        byteBuffer.limit(limit * SizeOf.SHORT);
        byteBuffer.position(position * SizeOf.SHORT);
        if (byteBuffer instanceof DirectByteBuffer) {
            ((DirectByteBuffer) byteBuffer).put(src, srcOffset, shortCount);
        } else {
            ((ByteArrayBuffer) byteBuffer).put(src, srcOffset, shortCount);
        }
        this.position += shortCount;
        return this;
    }

有没有人遇到过这个错误?我究竟做错了什么 ?如果有人对此问题有见解,我很乐意讨论。

谢谢!

最佳答案

您可能会运行多个 map fragment 。请参阅我关于目前困扰 Google map 库的这个 fatal error 的文章,涉及多个 map fragment - 以及我如何找到解决方法。

https://medium.com/aphex-cx/the-google-maps-api-is-broken-on-android-5-heres-a-workaround-for-multiple-map-fragments-6a95655c92fd

Google is currently working on the case并将其优先用于 Google Play 服务的下一个版本!

关于android - 尝试在谷歌地图 V2 android 应用程序中获取空数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27253524/

相关文章:

java - 如何保存字符串?

java - 强制关闭简单的android编码

android - Google Maps 方向 - 哪个 API?

html - 如何使谷歌地图 iframe 的 "style"看起来很新

android - 一个按钮依赖于另一个按钮的点击

android - NullPointerException android.support.v7.widget.RecyclerView.onMeasure 的原因

android - ActionBarSherlock + Google Maps API v2 重复 ID

标记图标内的 Android Google Maps API 字符串

android - 在 Android 中安排 Activity

Android从标记标题中的当前位置设置地址(位置名称)