亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        空氣質(zhì)量實(shí)時(shí)監(jiān)測系統(tǒng)的內(nèi)存泄漏

        2012-06-11 07:08:30劉黎志
        關(guān)鍵詞:控件實(shí)例內(nèi)存

        劉黎志,劉 君

        (1.武漢工程大學(xué)智能機(jī)器人湖北省重點(diǎn)實(shí)驗(yàn)室, 湖北 武漢430074;2.武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖北 武漢430074)

        1 問題描述

        近幾年來,隨著經(jīng)濟(jì)的快速發(fā)展,特別是房地產(chǎn)業(yè)和汽車產(chǎn)業(yè)的發(fā)展,空氣污染日益嚴(yán)重的問題引起了環(huán)保部門的重視.國家環(huán)保部主要針對(duì)空氣中的PM10(可吸入顆粒物)、SO2、NO2、CO、O3等幾種主要污染物進(jìn)行實(shí)時(shí)監(jiān)測,并要求地方環(huán)保部門每隔5 min上報(bào)一次各個(gè)自動(dòng)化監(jiān)測點(diǎn)的實(shí)時(shí)監(jiān)測數(shù)據(jù).空氣質(zhì)量實(shí)時(shí)監(jiān)測系統(tǒng)要求將每5 min從數(shù)據(jù)庫中讀取一次數(shù)據(jù),并將監(jiān)測數(shù)據(jù)動(dòng)態(tài)展示在Google地圖上.空氣質(zhì)量實(shí)時(shí)監(jiān)測系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖如圖1所示.

        圖1 空氣質(zhì)量實(shí)時(shí)監(jiān)測系統(tǒng)結(jié)構(gòu)圖Fig.1 Air quality real-time monitoring system structure chart

        空氣質(zhì)量實(shí)時(shí)監(jiān)測系統(tǒng)的工作流程為:實(shí)時(shí)數(shù)據(jù)更新程序定時(shí)將各個(gè)自動(dòng)化監(jiān)測站點(diǎn)的數(shù)據(jù)更新到中心站的數(shù)據(jù)庫服務(wù)器中;GooleMap.aspx頁面使用Microsoft AJAX框架實(shí)現(xiàn)頁面的異步刷新機(jī)制,Timer控件每300 s自動(dòng)回發(fā)頁面到Web發(fā)布服務(wù)器取5 min的監(jiān)測數(shù)據(jù)在Google地圖的標(biāo)記信息窗口顯示,實(shí)踐中有兩種方案.方案1使用著名的開源代碼網(wǎng)站http://www.codeplex.com中的免費(fèi)開源控件GoogleMap Control for ASP.NET[1],控件的標(biāo)記名稱為Artem.Artem控件封裝Google Map API,使得開發(fā)人員可以直接在aspx頁的Code Behind代碼中針對(duì)該控件公開的編程接口編程,從而控制Google地圖的使用邏輯.方案2直接使用Google Map API[2-3],仍然使用AJAX的異步機(jī)制,通過調(diào)用Web服務(wù)取中心站數(shù)據(jù)庫中的5 min數(shù)據(jù)更新Google地圖中的標(biāo)記信息窗口.兩種方案都不同程度的存在內(nèi)存泄漏[4-5]問題.首先分析兩種方案產(chǎn)生內(nèi)存泄漏的原因,然后針對(duì)這些原因提出解決方案,從而解決內(nèi)存泄漏問題.

        2 內(nèi)存泄漏問題分析

        2.1 方案1內(nèi)存泄漏問題分析

        方案1直接使用封裝的GoogleMap控件,并通過對(duì)Artem控件公開的屬性、方法、事件編程,從而控制Google地圖中標(biāo)記的信息窗口顯示5 min的實(shí)時(shí)監(jiān)測數(shù)據(jù).實(shí)時(shí)監(jiān)測數(shù)據(jù)顯示效果如圖2所示.

        圖2 實(shí)時(shí)監(jiān)測數(shù)據(jù)顯示Fig.2 Real-time monitoring data presentation

        GoogleMap.aspx頁面內(nèi)容為:

        ……

        ……

        GoogleMap.aspx.cs后臺(tái)代碼內(nèi)容為:

        protected void tmUpdate_Tick(object sender,EventArgs e)

        { gmMain.Markers.Clear();//清空以前添加的標(biāo)記

        foreach (t_SStation ts in 從數(shù)據(jù)庫中取得站點(diǎn)列表)

        { GoogleMarker gk = new GoogleMarker(站點(diǎn)經(jīng)度,站點(diǎn)緯度); //實(shí)例化站點(diǎn)標(biāo)記

        gk.Title = ts.SStationName; //設(shè)置站點(diǎn)標(biāo)題

        gk.Text = “信息窗口中的顯示內(nèi)容,為從數(shù)據(jù)庫中取得的5 min監(jiān)測數(shù)據(jù)值”;

        gmMain.Markers.Add(gk);}}

        方案1設(shè)計(jì)頁面每5 min回發(fā)一次,在后臺(tái)代碼中的tmUpdate_Tick事件中從中心站數(shù)據(jù)庫中取得各個(gè)監(jiān)測站點(diǎn)5 min的監(jiān)測值,使用最新的5 min值更新地圖標(biāo)記的信息窗口.此方案從功能實(shí)現(xiàn)的角度看,是最簡單的實(shí)現(xiàn)方法,但該方案內(nèi)存泄漏嚴(yán)重,幾乎每次回發(fā),Windows任務(wù)管理器顯示承載Google地圖的IE瀏覽器的iexplore.exe進(jìn)程的內(nèi)存使用增加10 MB左右.若以系統(tǒng)可用內(nèi)存為2 GB計(jì)算,2 048 MB/(10 MB Gbyte*(60/5))=17 h后,系統(tǒng)內(nèi)存耗盡.分析原因認(rèn)為,該控件的設(shè)計(jì)者在每次頁面刷新時(shí)并沒有釋放掉前一次的GoogleMap實(shí)例,而是又重新生成了一個(gè)實(shí)例,故產(chǎn)生內(nèi)存泄漏.

        2.2 方案2的內(nèi)存泄漏問題分析

        由于方案1中的Artem控件是封裝發(fā)布的,從編程的角度出發(fā),已經(jīng)無法解決其在定時(shí)刷新數(shù)據(jù)時(shí)產(chǎn)生的內(nèi)存泄漏問題.故只能直接采用Google Map API,用Javascript腳本語言編程實(shí)現(xiàn).具體實(shí)現(xiàn)描述如下.

        * GoogleMap.aspx頁面內(nèi)容為:

        ……

        //定義Web服務(wù)調(diào)用地址

        //定義腳本語言調(diào)用地址

        国产精品高清一区二区三区人妖| 比比资源先锋影音网| 国产免费一级在线观看| 日韩精品成人一区二区三区久久久| 曰日本一级二级三级人人| 国产成人精品2021| 乱人伦中文字幕成人网站在线| 日本不卡在线一区二区三区视频| 一本色道久久88加勒比—综合| 亚洲国产av无码精品| 免费观看91色国产熟女| 日韩欧美亚洲综合久久影院ds| 有码精品一二区在线| 国产三级在线观看性色av| 国产91久久麻豆黄片| 色综合久久久久久久久久| 香蕉色香蕉在线视频| av福利资源在线观看| 男女视频在线观看一区| 国产精品无码专区av在线播放| 亚洲永久精品ww47永久入口| 亚洲成av人无码免费观看| 亚洲国产一区二区中文字幕| 一本一道人人妻人人妻αv| 肉体裸交丰满丰满少妇在线观看| 中文字幕乱码亚洲无线| 黄片小视频免费观看完整版| 中文字幕+乱码+中文字幕一区| AV无码中文字幕不卡一二三区| 亚洲二区精品婷婷久久精品| 日本真人边吃奶边做爽电影| 欧美日本国产va高清cabal | 亚洲精品无码久久久久av麻豆| 日韩成人精品日本亚洲| 成人激情视频在线手机观看| 久久精品夜色国产亚洲av| 最新精品亚洲成a人在线观看| 91精品啪在线观看国产色| 国产精品乱码人妻一区二区三区 | 精品国产一区二区三区2021| 亚洲av无码一区二区三区在线 |