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

简介: 原文:【百度地图API】今日小年大进步,齐头共进贺佳节——API优化升级上线,不再增加内存消耗  任务描述:   今天是2011年01月26日,小年夜。百度地图API在小年夜献给广大API爱好者一份给力的礼物!那就是,百度地图API内存消耗优化升级了!   此次API优化升级后,内存消耗保持平稳,绝大部分测试中,内存消耗趋于一条直线。
原文: 【百度地图API】今日小年大进步,齐头共进贺佳节——API优化升级上线,不再增加内存消耗

 

任务描述:

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

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

 

如何实现:

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

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

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

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

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

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

 

图示:

  img_46818c0841ff3e966dd65822441949e3.jpg

 

说明:

  优化前,内存消耗以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/circlecase.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 >
目录
相关文章
|
3月前
|
测试技术
升级电脑内存
升级电脑内存
65 2
|
2月前
|
新能源 API
百科-百度免费API接口教程
该接口用于从百度百科获取指定名词的基础解释。支持POST或GET请求,需提供用户ID、用户KEY及查询内容。返回状态码和解释内容或错误提示。示例:https://cn.apihz.cn/api/zici/baikebaidu.php?id=88888888&key=88888888&words=汽车。建议使用个人ID与KEY以享受更高调用频次。
|
2月前
|
API
表情包-百度版免费API接口教程
该接口用于通过指定关键词从百度渠道获取表情包,支持POST或GET请求。需提供用户ID和KEY,可选参数包括关键词、页码及结果数量。返回数据包含状态码、信息提示、结果集等。示例中ID与KEY为公共测试用,建议使用个人ID与KEY以享受更高调用频率。
|
2月前
|
API
通用图片搜索-百度源免费API接口教程
该接口用于搜索百度图片,支持通过关键词、页码、结果数量等参数获取图片搜索结果。请求方式为POST或GET,需提供用户ID和KEY,可选参数包括关键词、页码、结果数量及返回源类型。返回结果包含状态码、信息提示、结果集、当前页码、最大页码和结果数量。示例中提供了GET和POST请求方法及返回数据示例。
|
3月前
|
固态存储 内存技术
升级电脑内存和硬盘
升级电脑内存和硬盘
63 6
|
4月前
|
监控 Java 大数据
【Java内存管理新突破】JDK 22:细粒度内存管理API,精准控制每一块内存!
【9月更文挑战第9天】虽然目前JDK 22的确切内容尚未公布,但我们可以根据Java语言的发展趋势和社区的需求,预测细粒度内存管理API可能成为未来Java内存管理领域的新突破。这套API将为开发者提供前所未有的内存控制能力,助力Java应用在更多领域发挥更大作用。我们期待JDK 22的发布,期待Java语言在内存管理领域的持续创新和发展。
|
5月前
|
编解码 Android开发 UED
【性能狂飙!】揭秘Android应用极速变身秘籍:内存瘦身+用户体验升级,打造丝滑流畅新境界!
【8月更文挑战第12天】构建高效Android应用需全方位优化,尤其重视内存管理和用户体验。通过弱引用降低内存占用,懒加载资源减少启动负担。运用Kotlin协程确保UI流畅不阻塞,响应式设计适配多屏需求。这些策略共同提升了应用性能与用户满意度。
58 1
|
5月前
|
安全
计算机硬件升级增加内存(RAM)
【8月更文挑战第5天】
139 3
|
6月前
|
弹性计算 数据安全/隐私保护 虚拟化
云服务器 ECS产品使用问题之如何升级内存
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。