关于高德地图遇到的自定义大头针的坑

屏幕快照 2017-08-28 下午5.09.00.png

使用自定义的大头针的时候,在跳转至详情界面时,再次返回时会出现自定义的大头针无效被替换成了系统自带的大头针 ?
原因还是自己不小心在push 界面消失的时候将代理mapview 的代理给释放了所以默认加的都是系统的大头针了

关于高德地图的一些优化策略

出现的问题:地图界面手势的拖拽和放大缩小不够灵敏,随着运行的时间和多次跳转界面会变得越来越卡,使用profile发现高德也会内存泄漏,但这不是最根本的原因,因为即使知道也是没办法修改的.憋屈耐何让我优化,何苦为难一个小菜鸡.
开始思考是想可能因为图片的原因以下是经历过的思路

1.尝试屏蔽画图片自定义的大头针,发现情况并未好转.因此否认了
2.高德地图本身的一次加载就是很费内存的,尤其适用在xcode自带debug模式看到多次跳转时内存会一直在120%-150%以上,抽取过后只有第一次会比较高,但以后基本稳定在70%-90%,也不会超过100%.但是仍然不能解决拖拽卡顿和不流畅的情况.
3.既不是大量大头针的添加也不是未单例的地图,想到难道因为导航?持续定位去刷新视图的原因? 因为每隔一段时间会将当前的位置和资源做一次比对,但是经过测试,删掉这些操作后还是卡顿,一一排查到,去掉自带的律动当前定位图标即那个小圆点,设置其不跟随不实时刷新,居然不是那么卡顿了.滑动也很流畅了.当然根本原因可能不是这个,毕竟其它app中出现这个拖拽也不是很卡(mark:这个有待验证).
4.考虑定位是做成单例的全局,因此在全局中去做了定位的代理管理,使用地图的界面只负责接收代理传出的数据做一些界面的更新和操作,居然真的没那么卡了.
5.当然这样居然还不够,图上许多大头针是支持点击手势和地图上的拖拽和放大缩小手势.然后可能因为手势冲突会让拖拽放大等手势丢失?  所以以为卡了? 然后在单例地图视图中实现shouldrecievetouch,设置不处理点击的手势额到此 是真的就很流畅了.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,908评论 25 708
  • 共享单车的火爆为地图类应用带来了崭新的使用场景,百度地图抓住时机地增加了共享单车的功能入口,同时新增了“地铁+共享...
    baolvlv阅读 21,899评论 4 118
  • 文\微寒 每个人都生过病,或大或小,...
    微微寒阅读 379评论 2 3
  • 拖了好久的一幅作品,总算是完成了,有很多不足,但是基本上我想表现出来的,都有体现,由于长时间没进行肖像作画,还是手...
    东南乔阅读 448评论 4 5
  • 1.生态文明建设:是指人类在利用和改造自然的过程中,主动保护自然,积极改善和优化人与自然的关系,建设健康有序的生态...
    Five__huan阅读 3,294评论 0 0