GithubHelp home page GithubHelp logo

集成地图SDK的坑 about androidbox HOT 4 OPEN

zengjingfang avatar zengjingfang commented on July 28, 2024
集成地图SDK的坑

from androidbox.

Comments (4)

zengjingfang avatar zengjingfang commented on July 28, 2024

高德地图

image
http://lbs.amap.com/dev/demo/map-fragment#Android

from androidbox.

zengjingfang avatar zengjingfang commented on July 28, 2024
                                                           Process: com.xtc.watch, PID: 22086
                                                           java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xtc.watch/com.xtc.watch.mapdemo.MainActivity}: android.view.InflateException: Binary XML file line #0: Error inflating class com.baidu.mapapi.map.MapView
                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2439)
                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2500)
                                                               at android.app.ActivityThread.access$900(ActivityThread.java:167)
                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1374)
                                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                                               at android.os.Looper.loop(Looper.java:135)
                                                               at android.app.ActivityThread.main(ActivityThread.java:5401)
                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                               at java.lang.reflect.Method.invoke(Method.java:372)
                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:919)
                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:714)
                                                            Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class com.baidu.mapapi.map.MapView
                                                               at android.view.LayoutInflater.createView(LayoutInflater.java:642)
                                                               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
                                                               at android.view.LayoutInflater.rInflate(LayoutInflater.java:851)
                                                               at android.view.LayoutInflater.inflate(LayoutInflater.java:510)
                                                               at android.view.LayoutInflater.inflate(LayoutInflater.java:420)
                                                               at com.xtc.watch.mapdemo.BDFragment.onCreateView(BDFragment.java:34)
                                                               at android.support.v4.app.Fragment.performCreateView(Fragment.java:2346)
                                                               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1428)
                                                               at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1759)
                                                               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1827)
                                                               at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797)
                                                               at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2596)
                                                               at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2383)
                                                               at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2338)
                                                               at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2245)
                                                               at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3248)
                                                               at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3200)
                                                               at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:195)
                                                               at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:597)
                                                               at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1242)
                                                               at android.app.Activity.performStart(Activity.java:6090)
                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2402)
                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2500) 
                                                               at android.app.ActivityThread.access$900(ActivityThread.java:167) 
                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1374) 
                                                               at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                               at android.os.Looper.loop(Looper.java:135) 
                                                               at android.app.ActivityThread.main(ActivityThread.java:5401) 
                                                               at java.lang.reflect.Method.invoke(Native Method) 
                                                               at java.lang.reflect.Method.invoke(Method.java:372) 
                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:919) 
                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:714) 
                                                            Caused by: java.lang.reflect.InvocationTargetException
                                                               at java.lang.reflect.Constructor.newInstance(Native Method)
                                                               at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
                                                               at android.view.LayoutInflater.createView(LayoutInflater.java:616)
                                                               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788) 
                                                               at android.view.LayoutInflater.rInflate(LayoutInflater.java:851) 
                                                               at android.view.LayoutInflater.inflate(LayoutInflater.java:510) 
                                                               at android.view.LayoutInflater.inflate(LayoutInflater.java:420) 
                                                               at com.xtc.watch.mapdemo.BDFragment.onCreateView(BDFragment.java:34) 
                                                               at android.support.v4.app.Fragment.performCreateView(Fragment.java:2346) 
                                                               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1428) 
                                                               at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1759) 
                                                               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1827) 
                                                               at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797) 
                                                               at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2596) 
                                                               at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2383) 
                                                               at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2338) 
                                                               at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2245) 
                                                               at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3248) 
                                                               at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3200) 
                                                               at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:195) 
                                                               at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:597) 
                                                               at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1242) 
                                                               at android.app.Activity.performStart(Activity.java:6090) 
                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2402) 
                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2500) 
                                                               at android.app.ActivityThread.access$900(ActivityThread.java:167) 
                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1374) 
                                                               at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                               at android.os.Looper.loop(Looper.java:135) 
                                                               at android.app.ActivityThread.main(ActivityThread.java:5401) 
                                                               at java.lang.reflect.Method.invoke(Native Method) 
                                                               at java.lang.reflect.Method.invoke(Method.java:372) 
                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:919) 
                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:714) 
                                                            Caused by: java.lang.RuntimeException: Please give the right context.
                                                               at com.baidu.mapsdkplatform.comapi.map.e.a(Unknown Source)
                                                               at com.baidu.mapsdkplatform.comapi.map.j.<init>(Unknown Source)
                                                               at com.baidu.mapapi.map.MapView.a(Unknown Source)
                                                               at com.baidu.mapapi.map.MapView.a(Unknown Source)
                                                               at com.baidu.mapapi.map.MapView.<init>(Unknown Source)
                                                               at java.lang.reflect.Constructor.newInstance(Native Method) 
                                                               at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
                                                               at android.view.LayoutInflater.createView(LayoutInflater.java:616) 
                                                               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788) 
                                                               at android.view.LayoutInflater.rInflate(LayoutInflater.java:851) 
                                                               at android.view.LayoutInflater.inflate(LayoutInflater.java:510) 
                                                               at android.view.LayoutInflater.inflate(LayoutInflater.java:420) 
                                                               at com.xtc.watch.mapdemo.BDFragment.onCreateView(BDFragment.java:34) 
                                                               at android.support.v4.app.Fragment.performCreateView(Fragment.java:2346) 
                                                               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1428) 
                                                               at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1759) 
                                                               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1827) 
                                                               at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797) 
                                                               at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2596) 
                                                               at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2383) 
                                                               at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2338) 
                                                               at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2245) 
                                                               at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3248) 
                                                               at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3200) 
                                                               at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:195) 
                                                               at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:597) 
                                                               at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1242) 
                                                               at android.app.Activity.performStart(Activity.java:6090) 
                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2402) 
                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2500) 
                                                               at android.app.ActivityThread.access$900(ActivityThread.java:167) 
                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1374) 
                                                               at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                               at android.os.Looper.loop(Looper.java:135) 
                                                               at android.app.ActivityThread.main(ActivityThread.java:5401) 
                                                               at java.lang.reflect.Method.invoke(Native Method) 
                                                               at java.lang.reflect.Method.invoke(Method.java:372) 
                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:919) 
                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:714) 

Caused by: java.lang.RuntimeException: Please give the right context.

context不对

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {

    if (mRootView == null) {
        mRootView = LayoutInflater.from(mContext.getApplicationContext()).inflate(R.layout.fragment_map_bd, container,
                false);
    }

    //获取地图控件引用
    mMapView = (MapView) mRootView.findViewById(R.id.bmapView);
    addMarker();
    return super.onCreateView(inflater, container, savedInstanceState);
}

===》》》

public View onCreateView(LayoutInflater inflater, @nullable ViewGroup container, Bundle savedInstanceState) {

    if (mRootView == null) {
        mRootView = LayoutInflater.from(mContext).inflate(R.layout.fragment_map_bd, container,
                false);
    }

    //获取地图控件引用
    mMapView = (MapView) mRootView.findViewById(R.id.bmapView);
    addMarker();
    return super.onCreateView(inflater, container, savedInstanceState);
}

from androidbox.

zengjingfang avatar zengjingfang commented on July 28, 2024

百度地图释放资源时SDK出现了ANR问题

Log

05-15 21:09:12.825 2811-2824/? E/ActivityManager: ANR in com.xtc.watch
PID: 5669
Reason: Broadcast of Intent { act=android.intent.action.TIME_TICK flg=0x50000014 (has extras) }
Load: 9.68 / 10.02 / 10.03
CPU usage from 120036ms to 0ms ago (2018-05-15 21:07:10.060 to 2018-05-15 21:09:10.096):
19% 2811/system_server: 10% user + 8.7% kernel / faults: 4033 minor 1 major
13% 2466/adbd: 2.1% user + 11% kernel / faults: 46642 minor
9.8% 32648/perfd: 5.2% user + 4.6% kernel / faults: 72 minor
4.3% 2429/surfaceflinger: 1.5% user + 2.8% kernel / faults: 1811 minor
3.9% 2948/com.android.systemui: 2.1% user + 1.8% kernel / faults: 5614 minor 6 major
2.9% 2346/logd: 1.4% user + 1.5% kernel / faults: 36 minor
1.5% 978/hwrng: 0% user + 1.5% kernel
0.6% 2439/audioserver: 0.4% user + 0.2% kernel / faults: 41 minor
0.6% 19754/kworker/0:0: 0% user + 0.6% kernel
0.4% 878/decon0: 0% user + 0.4% kernel
0.4% 31333/kworker/0:3: 0% user + 0.4% kernel
0.4% 32493/cfinteractive0: 0% user + 0.4% kernel
0.3% 1316/logcat: 0.2% user + 0.1% kernel
0.3% 1483/dhd_watchdog_th: 0% user + 0.3% kernel
0.2% 25445/kworker/u16:6: 0% user + 0.2% kernel
0.2% 24992/kworker/u17:2: 0% user + 0.2% kernel
0.2% 2428/servicemanager: 0% user + 0.1% kernel
0.2% 10/rcu_preempt: 0% user + 0.2% kernel
0.2% 2665/com.xtc.watch:remote: 0.1% user + 0% kernel / faults: 1374 minor
0.2% 5172/kworker/u17:1: 0% user + 0.2% kernel
0.2% 3072/com.android.systemui:recents: 0.1% user + 0% kernel / faults: 3370 minor
0.1% 13624/kworker/u16:0: 0% user + 0.1% kernel
0.1% 29578/kworker/u16:2: 0% user + 0.1% kernel
0.1% 2435/gpsd: 0% user + 0% kernel / faults: 56 minor
0.1% 32488/thread_hotplug: 0% user + 0.1% kernel
0.1% 652/ion_noncontig_h: 0% user + 0.1% kernel
0.1% 1679/com.xtc.watch:push: 0.1% user + 0% kernel / faults: 318 minor
0.1% 7/migration/0: 0% user + 0.1% kernel
0.1% 2338/jbd2/sda44-8: 0% user + 0.1% kernel
0.1% 3206/com.android.phone: 0% user + 0% kernel / faults: 531 minor
0.1% 3642/com.meizu.pps: 0% user + 0% kernel / faults: 182 minor
0% 16/migration/1: 0% user + 0% kernel
0% 22/migration/2: 0% user + 0% kernel
0% 2458/march_hotplug: 0% user + 0% kernel
0% 2999/sdcard: 0% user + 0% kernel
0% 28/migration/3: 0% user + 0% kernel
0% 1544/kworker/5:2: 0% user + 0% kernel
0% 3221/wpa_supplicant: 0% user + 0% kernel
0% 29977/kworker/u16:5: 0% user + 0% kernel
0% 8/rcuc/0: 0% user + 0% kernel
0% 870/s3c-fb-vsync: 0% user + 0% kernel
0% 1031/kworker/7:1: 0% user + 0% kernel
0% 1545/kworker/5:3: 0% user + 0% kernel
0% 1548/kworker/6:2: 0% user + 0% kernel
0% 13669/kworker/1:4: 0% user + 0% kernel
0% 3/ksoftirqd/0: 0% user + 0% kernel
0% 21/rcuc/2: 0% user + 0% kernel
0% 33/rcuc/4: 0% user + 0% kernel
0% 39/rcuc/5: 0% user + 0% kernel
0% 1515/kworker/7:3: 0% user + 0% kernel
0% 2452/mediaserver: 0% user + 0% kernel / faults: 89 minor
0% 5345/kworker/2:0: 0% user + 0% kernel
0% 15/rcuc/1: 0% user + 0% kernel
0% 27/rcuc/3: 0% user + 0% kernel
0% 34/migration/4: 0% user + 0% kernel
0% 45/rcuc/6: 0% user + 0% kernel
0% 51/rcuc/7: 0% user + 0% kernel
0% 2453/netd: 0% user + 0% kernel / faults: 388 minor
0% 6093/com.meizu.mstore: 0% user + 0% kernel / faults: 80 minor
0% 36/kworker/4:0: 0% user + 0% kernel
0% 2449/media.codec: 0% user + 0% kernel / faults: 47 minor
0% 7353/kworker/6:3: 0% user + 0% kernel
0% 22333/kworker/3:2: 0% user + 0% kernel
0% 40/migration/5: 0% user + 0% kernel
0% 2657/kworker/4:2: 0% user + 0% kernel
0% 28384/kworker/0:3H: 0% user + 0% kernel
0% 17/ksoftirqd/1: 0% user + 0% kernel
0% 23/ksoftirqd/2: 0% user + 0% kernel
0% 29/ksoftirqd/3: 0% user + 0% kernel
0% 41/ksoftirqd/5: 0% user + 0% kernel
0% 46/migration/6: 0% user + 0% kernel
0% 1879/com.xtc.watch:umengpush: 0% user + 0% kernel / faults: 39 minor
0% 2455/rild_exynos: 0% user + 0% kernel
0% 2457/vcd: 0% user + 0% kernel
0% 2473/logcat: 0% user + 0% kernel
0% 2982/com.meizu.flyme.input: 0% user + 0% kernel / faults: 51 minor
0% 2/kthreadd: 0% user + 0% kernel
0%

traces

"main" prio=5 tid=1 Native
| group="main" sCount=1 dsCount=0 obj=0x7569d578 self=0xf4705400
| sysTid=14303 nice=0 cgrp=default sched=0/0 handle=0xf74cf534
| state=S schedstat=( 3006664630 171192716 8002 ) utm=264 stm=36 core=3 HZ=100
| stack=0xff423000-0xff425000 stackSize=8MB
| held mutexes=
kernel: __switch_to+0x74/0x8c
kernel: hrtimer_nanosleep+0xb4/0x1cc
kernel: compat_SyS_nanosleep+0xb4/0x12c
kernel: el0_svc_naked+0x24/0x28
at com.baidu.mapsdkplatform.comjni.map.basemap.JNIBaseMap.Release(Native method)
at com.baidu.mapsdkplatform.comjni.map.basemap.a.b(unavailable:-1)
at com.baidu.mapsdkplatform.comapi.map.e.b(unavailable:-1)
at com.baidu.mapsdkplatform.comapi.map.j.b(unavailable:-1)
at com.baidu.mapapi.map.MapView.onDestroy(unavailable:-1)
at com.xtc.innermap.InnerMapManager.releaseBaiduMap(InnerMapManager.java:857)
at com.xtc.innermap.InnerMapManager.onDestroy(InnerMapManager.java:835)
at com.xtc.watch.view.schoolguard.activity.GuardAddressEditActivity.onDestroy(GuardAddressEditActivity.java:279)
at android.app.Activity.performDestroy(Activity.java:7136)
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1158)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4385)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4417)
at android.app.ActivityThread.-wrap6(ActivityThread.java:-1)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1629)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6524)
at java.lang.reflect.Method.invoke!(Native method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)
traces.txt

问题原因及解决方案

原因是百度设置了个性化地图MapView.setMapCustomEnable(true);,释放之前没有设置为false。导致了在activity的onDestroy调用com.baidu.mapapi.map.MapView.onDestroy时出现ANR。

还有要注意,MapView.setMapCustomEnable(true)这个设置是全局的。一处设置,别处使用的地图也会被修改。

from androidbox.

zengjingfang avatar zengjingfang commented on July 28, 2024

高德地图设置个性化地图的坑

如果在onResume里边调用AMap.setMapCustomEnable(ture)时,将当期地图设置到卫星地图模式,跳转到其他界面返回会走onResume方法,会导致地图变黑。

from androidbox.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.