Array_If 2020-08-22 12:45 采纳率: 0%
浏览 299

高德地图聚合 添加图片背景 不断缩放 经常奔溃

1 缩放过程中的问题 必现

2 错误日志

2020-08-22 12:40:00.673 31812-31839/com.amap.apis.cluster A/Bitmap: Error, cannot access an invalid/free'd bitmap here!

    --------- beginning of crash
2020-08-22 12:40:00.674 31812-31839/com.amap.apis.cluster A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 31839 (GLThread 4294), pid 31812 (ap.apis.cluster)
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG: Build fingerprint: 'xiaomi/onc/onc:9/PKQ1.181021.001/V10.3.1.0.PFLCNXM:user/release-keys'
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG: Revision: '0'
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG: ABI: 'arm'
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG: pid: 31812, tid: 31839, name: GLThread 4294  >>> com.amap.apis.cluster <<<
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG: Abort message: 'Error, cannot access an invalid/free'd bitmap here!'
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG:     r0  00000000  r1  00007c5f  r2  00000006  r3  00000008
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG:     r4  00007c44  r5  00007c5f  r6  ce37d6e4  r7  0000010c
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG:     r8  00000000  r9  e14bd400  r10 ce391990  r11 00000000
2020-08-22 12:40:00.797 31888-31888/? A/DEBUG:     ip  ebfb43d8  sp  ce37d6d0  lr  ebf23621  pc  ebf1ae5e
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG: backtrace:
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #00 pc 0001ce5e  /system/lib/libc.so (abort+58)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #01 pc 00007e19  /system/lib/liblog.so (__android_log_assert+156)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #02 pc 000d38e5  /system/lib/libandroid_runtime.so (Bitmap_sameAs(_JNIEnv*, _jobject*, long long, long long)+308)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #03 pc 00ee7419  /system/framework/arm/boot-framework.oat (offset 0x9c8000) (android.database.sqlite.SQLiteConnection.nativeExecuteForBlobFileDescriptor [DEDUPED]+120)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #04 pc 0003393f  /dev/ashmem/dalvik-jit-code-cache (deleted) (android.graphics.Bitmap.sameAs+158)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #05 pc 00032205  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.amap.api.maps.model.BitmapDescriptor.equals+292)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #06 pc 00031feb  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.amap.api.mapcore.util.c.getTextureItem+314)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #07 pc 0040e375  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #08 pc 003e7f21  /system/lib/libart.so (art_quick_invoke_stub+224)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #09 pc 000a1415  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #10 pc 001e6691  /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #11 pc 001e117f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #12 pc 003e2b7b  /system/lib/libart.so (MterpInvokeVirtual+442)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #13 pc 00401194  /system/lib/libart.so (ExecuteMterpImpl+14228)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #14 pc 001bc84e  /data/app/com.amap.apis.cluster-6fZIjKrpPRekRUr2DtpYZA==/oat/arm/base.vdex (com.amap.api.mapcore.util.c.getTextureItem+2)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #15 pc 001c58fb  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3776544728+378)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #16 pc 001c9f27  /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #17 pc 003d6661  /system/lib/libart.so (artQuickToInterpreterBridge+880)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #18 pc 004128ff  /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #19 pc 0001f423  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.amap.api.mapcore.util.cu.loadTexture+442)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #20 pc 00088ae5  /data/app/com.amap.apis.cluster-6fZIjKrpPRekRUr2DtpYZA==/oat/arm/base.odex (offset 0x4f000) (com.amap.api.mapcore.util.v.a+1196)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #21 pc 000db8af  /data/app/com.amap.apis.cluster-6fZIjKrpPRekRUr2DtpYZA==/oat/arm/base.odex (offset 0x4f000) (com.amap.api.mapcore.util.c.afterDrawLabel+374)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #22 pc 000bdf03  /data/app/com.amap.apis.cluster-6fZIjKrpPRekRUr2DtpYZA==/oat/arm/base.odex (offset 0x4f000) (com.autonavi.base.ae.gmap.GLMapEngine.onMapRender+178)
2020-08-22 12:40:01.129 31888-31888/? A/DEBUG:     #23 pc 0040e375  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
2020-08-22 12:40:01.130 31888-31888/? A/DEBUG:     #24 pc 003e7f21  /system/lib/libart.so (art_quick_invoke_stub+224)
2020-08-22 12:40:01.130 31888-31888/? A/DEBUG:     #25 pc 000a1415  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
2020-08-22 12:40:01.130 31888-31888/? A/DEBUG:     #26 pc 0034876d  /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
2020-08-22 12:40:01.130 31888-31888/? A/DEBUG:     #27 pc 003496e1  /system/lib/libart.so (art::InvokeVirtualOrInterfaceWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+320)
2020-08-22 12:40:01.130 31888-31888/? A/DEBUG:     #28 pc 00274503  /system/lib/libart.so (art::JNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+450)
2020-08-22 12:40:01.130 31888-31888/? A/DEBUG:     #29 pc 000c6591  /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType)+1124)
2020-08-22 12:40:01.130 31888-31888/? A/DEBUG:     #30 pc 000b7d45  /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+44)
2020-08-22 12:40:01.130 31888-31888/? A/DEBUG:     #31 pc 0002851b  <anonymous:cd7ec000>
2020-08-22 12:40:01.869 31888-31888/? E/crash_dump32: cannot open libmiuindbg.so: No such file or directory
2020-08-22 12:40:01.870 1018-1018/? E//system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_01
2020-08-22 12:40:02.252 1811-2100/? E/InputDispatcher: channel '302a574 com.amap.apis.cluster/com.amap.apis.cluster.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
2020-08-22 12:40:02.289 1811-2191/? E/ActivityTrigger: activityResumeTrigger: not whiteListedcom.miui.home/com.miui.home.launcher.Launcher/41521515

相关代码

    @Override
    public Drawable getDrawAble(int clusterNum) {
        Log.i("MainActivity-TAG", "getDrawAble: ");
        int radius = dp2px(getApplicationContext(), 80);
        if (clusterNum == 1) {
            Drawable bitmapDrawable = mBackDrawAbles.get(1);
            if (bitmapDrawable == null) {
                bitmapDrawable =
                        getApplication().getResources().getDrawable(
                                R.drawable.icon_openmap_mark);
                mBackDrawAbles.put(1, bitmapDrawable);
            }

            return bitmapDrawable;
        } else if (clusterNum < 5) {

            Drawable bitmapDrawable = mBackDrawAbles.get(2);
            if (bitmapDrawable == null) {
                bitmapDrawable = new BitmapDrawable(null, drawCircle(radius,
                        Color.argb(159, 210, 154, 6)));
                mBackDrawAbles.put(2, bitmapDrawable);
            }

            return bitmapDrawable;
        } else if (clusterNum < 10) {
            Drawable bitmapDrawable = mBackDrawAbles.get(3);
            if (bitmapDrawable == null) {
                bitmapDrawable = new BitmapDrawable(null, drawCircle(radius,
                        Color.argb(199, 217, 114, 0)));
                mBackDrawAbles.put(3, bitmapDrawable);
            }

            return bitmapDrawable;
        } else {
            Drawable bitmapDrawable = mBackDrawAbles.get(4);
            if (bitmapDrawable == null) {
                bitmapDrawable = new BitmapDrawable(null, drawCircle(radius,
                        Color.argb(235, 215, 66, 2)));
                mBackDrawAbles.put(4, bitmapDrawable);
            }

            return bitmapDrawable;
        }
    }

    private Bitmap drawCircle(int radius, int color) {
        Log.i("MainActivity-TAG", "drawCircle: ");
        Bitmap bitmap = Bitmap.createBitmap(radius * 2, radius * 2,
                Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        Paint paint = new Paint();
        RectF rectF = new RectF(0, 0, radius * 2, radius * 2);
        paint.setColor(color);
        canvas.drawArc(rectF, 0, 360, true, paint);
        return bitmap;
    }

网上的其他办法都试了 不知道怎么修改;

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2020-08-22 16:46
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分