time 
设为首页】【收藏本站
当前位置: 主页 > JavaScript > 其它JS框架 > 【百度地图API】今日小年大进步,齐头共进贺佳节——API优化升级上线,不再增加内存消耗

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

时间:2011-03-22 23:18 点击:903次 字体:[ ]




任务描述:

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

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

 

如何实现:

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

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

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

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

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

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

 

图示:

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

 

说明:

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

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

 

 
 

源代码:  
(注:由于测试用例过多,这里不一一列举,仅给出标注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>


本文地址 : http://www.fengfly.com/plus/view-197332-1.html
标签: 百度地图 API 内存消耗
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: