原文:【百度地图API】今日小年大进步,齐头共进贺佳节——API优化升级上线,不再增加内存消耗

任务描述:

  今天是2011年01月26日,小年夜。百度地图API在小年夜献给广大API爱好者一份给力的礼物!那就是,百度地图API内存消耗优化升级了!

  此次API优化升级后,内存消耗保持平稳,绝大部分测试中,内存消耗趋于一条直线。(如图所示)

如何实现:

  a)        
本次测试全部采用IE6浏览器;

b)        
本次测试的覆盖物全部采取随机方式创建;

c)        
本次测试覆盖物种类分别为:信息窗口、标注、圆形、多边形、折线、标签;

d)        
依次连续不间断做以上测试,不穿插其他测试;

e)        
测试时间均为每1毫秒执行一次创建;

f)         
测试期间,不新建其他进程。

图示:

  

说明:

  优化前,内存消耗以50,000为起点,不断上升,造成运行速度慢等问题;

  优化后,内存消耗一直保持在50,000左右,趋于平稳的直线。

运行代码,请点击以下链接:

  marker测试用例:http://ui-love.com/baidumap/markercase.htm

  label测试用例:http://ui-love.com/baidumap/labelcase.htm

  信息窗口w测试用例:http://ui-love.com/baidumap/infowincase.htm
  多边形测试用例:http://ui-love.com/baidumap/polygoncase.htm

源代码:  
(注:由于测试用例过多,这里不一一列举,仅给出标注Marker的测试用例代码。 )

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><title>Marker 性能</title><style type="text/css">/*<![CDATA[*/body{margin:0;padding:0;font-family:Times New Roman, serif}p{margin:0;padding:0}#wrapper{width:100%;margin:auto;text-align:left;height:100%}#map_container{height:480px;margin:0}#notes{position:absolute;right:10px;width:200px;top:10px}@media print{input{display:none}#notes{display:none}#map_container{margin:10px;border:none}}/*]]>*/</style><script type="text/javascript" src="http://api.map.baidu.com/api?key=25f144bb4491f54b83a7a7b39198c11e&v=1.1&services=true">
</script></head><body> <div id="map_container"></div> <div id="test_container"> <input type="button" onclick="test_mem()" value="mem_test" /> <input type="button" onclick="stop_mem()" value="stop_test" /> </div></div></body><script type="text/javascript">if (typeof console == "undefined"){ window.console = { log: function(){ } }}</script><script type="text/javascript">// 创建地图对象并初始化var mp = new BMap.Map("map_container");var point = new BMap.Point(116.404, 39.915);mp.centerAndZoom(point, 14);// 内存性能测试var count = 0;function createInfo() { mp.clearOverlays(); if (count > 3000) { clearInterval(window._timer); alert("测试结束"); } createMarkers();}function createMarkers(){ var bounds = mp.getBounds(); var lngSpan = bounds.maxX - bounds.minX; var latSpan = bounds.maxY - bounds.minY; for (var i = 0; i < 9; i ++) { count ++; var point = new BMap.Point(bounds.minX + lngSpan * (Math.random() * 0.7 + 0.15), bounds.minY + latSpan * (Math.random() * 0.7 + 0.15)); var marker = new BMap.Marker(point); mp.addOverlay(marker); }}function test_mem() { window._timer = setInterval(createInfo, 1);}function stop_mem() { clearInterval(window._timer); alert("运行了"+count+"次");}</script></html>

【百度地图API】今日小年大进步,齐头共进贺佳节——API优化升级上线,不再增加内存消耗的更多相关文章

  1. [android学习]__使用百度地图开放api编写地图定位app

    前言 在前面我已经记录关于如何使用百度地图api,以及如何配置相关的androidstudio配置了,接下来将记录如何使用百度地图api开发简单的地图定位apk,我将决定不定期持续更新本篇笔记,在每个 ...

  2. 利用百度地图API制作房产酒店地图

    摘要: 想亲手制作一张酷讯.去哪儿.安居客.链接地产那样的房产.酒店地图麼?那赶快来学习吧.(以酷讯为例,如下图) 更多成功案例请点击:http://dev.baidu.com/wiki/map/in ...

  3. 【百度地图API】JS版本的常见问题

    1.请问如何将我的店铺标注在百度地图上?我是否可以做区域代理?在百度地图上标注是否免费? 答复: 这里只负责API的技术咨询,不解决任何地图标注问题.在百度地图上标注自己公司,即气泡标注业务.该业务已 ...

  4. 深入浅出百度地图API开发系列(1):前言

    百度地图API目前在地图API领域越来越受到众多开发者的关注,许多应用都使用到了百度地图API服务,包括博主me,我自己使用做的是Javascript API,根据经验,我想整理出一份系列教程,如果能 ...

  5. 【百度地图API】圣诞节里不会迷路的麋鹿——驾车导航

    原文:[百度地图API]圣诞节里不会迷路的麋鹿--驾车导航 任务描述: 可能大家还不知道,圣诞老人是爱迷路的老爷爷! 今年圣诞节又要到了,圣诞老人又要出来送礼物了.可是,他灰常的迷路呢! 还好,他有一 ...

  6. JavaScript----marquee滚动标签 图片无缝滚动 插入百度地图

    页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...

  7. Android 百度地图 SDK v3.0.0 (一)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SD ...

  8. 最全面的百度地图JavaScript离线版开发

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5822231.html 项目要求web版百度地图要离线开发.这里总结下自己的开发过程和经验. 大概需求是:每辆 ...

  9. 从POI到O2O 看百度地图如何走出未来之路

    近期O2O的烧钱融资大战如火如荼,有人已经把O2O大战,用乌合之众的群体心理失控来形容.其实厂商都不傻,O2O烧钱大家都知道,但是大家还知道O2O背后这块大蛋糕价值"万亿级". 有 ...

随机推荐

  1. Cocos2d-x-Lua 开发一个简单的游戏(记数字步进白色块状)

    Cocos2d-x-Lua 开发一个简单的游戏(记数字步进白色块状) 本篇博客来给大家介绍怎样使用Lua这门语言来开发一个简单的小游戏-记数字踩白块. 游戏的流程是这种:在界面上生成5个数1~5字并显 ...

  2. 我学的是设计模式的视频教程——命令模式vs策略模式,唠嗑

    课程视频 命令模式vs策略模式 唠嗑 课程笔记 课程笔记 课程代码 课程代码 新课程火热报名中 课程介绍 版权声明:本文博主原创文章,博客,未经同意不得转载.

  3. 【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布

    内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做 ...

  4. FastReport扩展类

    题记: 最近有在用FastReport进行开发报表工作,当然也有在看书,突然想到可以用书中所写来实现一个fastreport的帮助类. 对于引用第三方类库,我们都会去将这个库在调用前进行相应的封装,也 ...

  5. POJ 2112 Optimal Milking (二分 + floyd + 网络流)

    POJ 2112 Optimal Milking 链接:http://poj.org/problem?id=2112 题意:农场主John 将他的K(1≤K≤30)个挤奶器运到牧场,在那里有C(1≤C ...

  6. unity3d 学习笔记(两)

    AudioClip 使用声音资源 unity3d资源可以被设置为声3d声音或2d声音.3d间的影响,越近声音越大 component: Audio source: 声音的发生物体 Audio list ...

  7. 【Java】【Flume】Flume-NG源代码分析的启动过程(两)

    本节分析配置文件的解析,即PollingPropertiesFileConfigurationProvider.FileWatcherRunnable.run中的eventBus.post(getCo ...

  8. Android Studio 快捷键整理分享

    Alt+回车 导入包,自己主动修正 Ctrl+N   查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L  格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成 ...

  9. Vim常见操作汇总

    1.跳到文本的最后一行:按“G”,即“shift+g”2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”.3.跳到第一行的第一个字符:先按两次“g”,4 ...

  10. GitBook 配置说明

    1. 下载并安装 npm node-v0.12.0.pkg http://nodejs.org/download/ 2. 安装 gitbook $ sudo npm install gitbook-c ...