![淺談J2ME內(nèi)存占用及優(yōu)化方法_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/29/2a4aa02b-1f1c-4254-8457-c12fc8c8795b/2a4aa02b-1f1c-4254-8457-c12fc8c8795b1.gif)
![淺談J2ME內(nèi)存占用及優(yōu)化方法_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/29/2a4aa02b-1f1c-4254-8457-c12fc8c8795b/2a4aa02b-1f1c-4254-8457-c12fc8c8795b2.gif)
![淺談J2ME內(nèi)存占用及優(yōu)化方法_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/29/2a4aa02b-1f1c-4254-8457-c12fc8c8795b/2a4aa02b-1f1c-4254-8457-c12fc8c8795b3.gif)
![淺談J2ME內(nèi)存占用及優(yōu)化方法_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/29/2a4aa02b-1f1c-4254-8457-c12fc8c8795b/2a4aa02b-1f1c-4254-8457-c12fc8c8795b4.gif)
![淺談J2ME內(nèi)存占用及優(yōu)化方法_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/29/2a4aa02b-1f1c-4254-8457-c12fc8c8795b/2a4aa02b-1f1c-4254-8457-c12fc8c8795b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 占用量,在載入一張很大的圖片后它的內(nèi) 存線在只出現(xiàn)了微微的波動后又停留在原 位。 在平時的開發(fā)過程當(dāng)中使用 7210模擬 器自帶的內(nèi)存監(jiān)視器,模擬的準(zhǔn)確率較 高,但唯一的缺點(diǎn)是內(nèi)存太少,只有可憐 200K。在使用 3220的模擬器監(jiān)視內(nèi)存, 內(nèi)存會稍微擴(kuò)大。Runtime 類方法:在開發(fā)過程當(dāng)中,我們會經(jīng)常用這個 語句System.out.println(Runtime. getRuntime(.freeMemory(;它能夠顯示當(dāng) 前剩余內(nèi)存。在早期的 S40模擬器上使用 這一方法,可以尋找到內(nèi)存峰值。了解了分析內(nèi)存的方法,來看看內(nèi)存 占用的罪魁禍?zhǔn)?程序和資源。程序 :類會被編譯成cla
2、ss字節(jié)碼文件 隨 MIDlet 的啟動加載進(jìn)內(nèi)存, 而且是一次 性全部加入。也就是說 MIDlet 里類個數(shù)越 多、單個類程序越長、類內(nèi)字符串常量及 數(shù)據(jù)越多, 編譯后的class文件就越大, 載 入 后 占 用 的 內(nèi) 存 也 越 多 。 我 們 可 以 在 MIDlet 類的構(gòu)造函數(shù)里用 Runtime 方法來 查看 MIDlet 啟動后整個程序占用內(nèi)存量。資 源 :圖片:是占用內(nèi)存的大戶,尤其是 手機(jī)游戲圖片資源眾多。對圖片資源在內(nèi) 存中占用量的計算成為 J2ME 游戲開發(fā)者 的經(jīng)常性工作,那么如何計算圖片在內(nèi)存 中的占用量呢?內(nèi)存占用量 =寬*高*像素字節(jié)數(shù), 其 中像素字節(jié)數(shù)因機(jī)型
3、而異。例如一張 64*64的圖片在 7210上的內(nèi) 存占用量 =64*64*1.5=6144(字節(jié)=6K、在 S60上的內(nèi)存占用量=64*64*2=8192(字節(jié) =8K。像素字節(jié)數(shù)因機(jī)型而異,例如 7210是 4096色機(jī)型,也就是說用 12位來表示 一個像素,所以乘上 1.5,而 S60是 65536色的機(jī)型,用 16位來表示一個像素,所 以乘上 2。聲音:聲音也是比較耗用內(nèi)存的資 源,聲音中音軌所占的 byte 會轉(zhuǎn)化成字節(jié) 流被載入到內(nèi)存中。因而減少音軌所占 byte 即可減少內(nèi)存耗用量。淺談 J2ME 內(nèi)存 占用及優(yōu)化方法宮兵大連職工大學(xué)116021隨著移動通信的突飛猛進(jìn),移動開發(fā)
4、這個新鮮的字眼慢慢成為開發(fā)者關(guān)注的熱 點(diǎn)。在網(wǎng)上進(jìn)行的最近一份調(diào)查顯示,有 24.34%的受訪者涉足嵌入式 /移動設(shè)備應(yīng) 用開發(fā),這個數(shù)字可能略高于實(shí)際的比 例,但也足可說明嵌入式 /移動設(shè)備應(yīng)用 開發(fā)是一塊誘人的新鮮奶酪。J2ME 是 SUN 公司針對嵌入式、消費(fèi) 類電子產(chǎn)品推出的開發(fā)平臺,與 J2SE 和 J2EE 共同組成 Java 技術(shù)的三個重要的分 支。J2ME 實(shí)際上是一系列規(guī)范的集合,由 J C P 組 織 制 定 相 關(guān) 的 JavaSpecificationRequest (JSR 并發(fā)布, 各個廠商會按照規(guī)范在自己的產(chǎn)品上進(jìn)行 實(shí)現(xiàn),但是必須要通過 TCK 測試,這樣確 保
5、兼容性。一、內(nèi)存占用容性做過 J2ME 的人,特別是做手機(jī)游戲 的,肯定會對 OutOfMemoryError 這個異 常深惡痛絕, 尤其是在早期的S40這樣的機(jī) 型上,甚至對這個異常都產(chǎn)生了恐懼。首先分析一下內(nèi)存占用的方法,一般 有 兩 種 :模擬器自帶工具和 Runtime 類方法:模擬器自帶工具:W T K 自身帶有了 一個 MemoryMonitor,而且在許多資料上 都有介紹其使用方法,但在實(shí)際的開發(fā)過 程中并沒有被普遍應(yīng)用。其主要的原因在 于,首先運(yùn)行 WTK 中的 MemoryMonitor 時,會導(dǎo)致整個程序的運(yùn)行速度大大降 低,這對游戲開發(fā)者來說是無法忍受的。 經(jīng) 過 多 次
6、 的 試 驗(yàn) 證 明 發(fā) 現(xiàn) 原 來 MemoryMonitor 根本無法顯示正確的內(nèi)存二、內(nèi)存優(yōu)化內(nèi)存優(yōu)化可以歸結(jié)為以下幾種方法。 代碼優(yōu)化,圖片優(yōu)化,第三方工具優(yōu)化。2.1代碼優(yōu)化內(nèi)存會溢出肯定和代碼逃不了關(guān)系, 絕大部分使用java進(jìn)行開發(fā)的人都知道垃 圾回收器是 java 的一大優(yōu)點(diǎn)。 顯然這個特 性為代碼編寫者省了不少事,但這個特性 卻帶來了不少隱患。舉個例子,在游戲當(dāng) 中經(jīng)常有不同場景的切換,如從游戲邏輯 退到主菜單邏輯,對游戲邏輯對象的態(tài)度 很多開發(fā)者會選擇等待垃圾回收器來自動 回收。 乍看之下似乎并無不妥, 垃圾回收器 會來善后。 實(shí)際上垃圾回收器并非實(shí)時的, 它不像 C+的
7、Delete 語句馬上釋放不用的 內(nèi)存。 當(dāng)從游戲邏輯切換到主菜單邏輯, 這 時兩個對象同時存在,很可能這時內(nèi)存就 不夠用了。讀到這里很多人會發(fā)現(xiàn)實(shí)際上 垃圾回收器在 j2me 上并不是特別好用, 從 一個角度上來講在j2me上除簡單類型以外 很 多 垃 圾 必 須 由 手 工 釋 放 , 例 如 imgs=null ; 實(shí)際上java提供了一個不錯的 工具用來查找內(nèi)存溢出,j a v a . l a n g . Runtime.freeMemory(。 它可以返回當(dāng)前的 剩余內(nèi)存數(shù),將它適當(dāng)?shù)匕卜旁诖a中可 以有效地監(jiān)測內(nèi)存使用狀況。很大一部份的j2me程序員之前都是從 事 pc 軟件開發(fā)工
8、作, 充裕的內(nèi)存掩蓋了許 多寫代碼的不良習(xí)慣。如下所示:/a 不為空 a=newLogic(;很多人可能對此有異議,他們會認(rèn)為 新的對象會把舊的對象沖掉并且釋放內(nèi)存。 這里面包含兩個問題 :(1 .該段代碼是先創(chuàng) 建對象然后再進(jìn)行賦值操作的,也就是說 在這期間有兩個對象同時存在,這就很可 能會產(chǎn)生溢出。 (2 .這樣做也會妨礙垃圾回 收器的工作。較好的寫法如下:a=null;a=newLogic(;雖然麻煩了點(diǎn), 但在 j2me 中還是必要 的。接著看下例drawString(游戲時間:+time,50, 50,Graphics.LEFT|Graphics.TOP;游戲時間:+time在pai
9、nt(方法當(dāng)中 每次都被刷一遍顯示在屏幕上。但是,該 語句會引起新的內(nèi)存重新分配來存儲 游 戲時間:+time而顯示完以后又必須由垃圾 回收器釋放,用了雙倍時間, 并且容易發(fā)F E /G E 等數(shù)據(jù)業(yè)務(wù)的接入、傳送或處理。3.2ATM 組網(wǎng)技術(shù) 用 A T M 交換機(jī)組建 3G 傳輸網(wǎng),符合 W C D M A R 99/R 4的 A T M 傳輸特性,并可通過信元交換完成帶寬統(tǒng)計復(fù)用功能,提 高傳輸效率。但是由于 3G 設(shè)備和 A T M 交換機(jī)都有 A T M 交換功 能,整網(wǎng)解決方案存在著功能重疊;另外,A T M 設(shè)備不是傳輸 平臺,其組網(wǎng)保護(hù)能力及 T D M 業(yè)務(wù)的支持能力較弱。因
10、此不建 議使用 A T M 設(shè)備來組建 3G 傳輸網(wǎng)。3.3IP組網(wǎng)技術(shù)目前IP網(wǎng)絡(luò)對業(yè)務(wù)質(zhì)量還無法提供電信級的保證。 IP網(wǎng)絡(luò)的 自愈能力雖然強(qiáng),但依賴路由協(xié)議的收斂速度慢,無法滿足各類 應(yīng)用要求。3G 的全 IP 組網(wǎng)目前還非常不成熟,在 3GPP 規(guī)范的 制定過程中,已經(jīng)推遲到 R5甚至以后的版本中。因此建設(shè)純粹 基于 IP 的網(wǎng)絡(luò)將不能很好地為 3G 網(wǎng)絡(luò)服務(wù),目前建設(shè) IP 網(wǎng)絡(luò)不 是理想的選擇。3.4MSTP 組網(wǎng)技術(shù)基于 S D H 的 M S T P 多業(yè)務(wù)平臺很好地融合了 S D H 、A T M IP 技術(shù),能夠提供多種業(yè)務(wù)接口和處理能力,可以根據(jù)網(wǎng)絡(luò)的發(fā) 展來動態(tài)調(diào)整 A T M 、I P 、T D M 網(wǎng)絡(luò)的容量,實(shí)現(xiàn)高效的傳送。 從 W C D M A 的發(fā)展情況來看,目前的商用化的版本 R 99、R 4網(wǎng) 絡(luò)采用 ATM 協(xié)議體系,將來向全網(wǎng) IP 模式逐步演進(jìn),屆時,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球晶圓檢測用物鏡行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國鉆頭修磨機(jī)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球醫(yī)療器械用注塑機(jī)行業(yè)調(diào)研及趨勢分析報告
- 主講人鄭長花
- 第06講 我們生活的大洲-亞洲(解析版)
- 2025原料采購合同的模板
- 2025個人保證擔(dān)保借款合同
- 門面房房屋租賃合同范本
- 工地配餐合同協(xié)議書范本
- it運(yùn)維外包服務(wù)合同
- 2025公司開工大吉蛇年起航萬象啟新模板
- GB/T 11263-2024熱軋H型鋼和剖分T型鋼
- 執(zhí)業(yè)醫(yī)師資格考試《臨床執(zhí)業(yè)醫(yī)師》 考前 押題試卷(一)絕密1
- 2024七年級數(shù)學(xué)上冊第六章幾何圖形初步綜合與實(shí)踐設(shè)計學(xué)校田徑運(yùn)動會比賽場地課件新版新人教版
- 全國網(wǎng)約車出租車駕駛員公共題模擬考試題及答案
- 新人教版一年級數(shù)學(xué)下冊全冊教案(表格式)
- 簡易三方換地協(xié)議書范本
- 2025屆廣東省深圳羅湖區(qū)四校聯(lián)考九上數(shù)學(xué)期末綜合測試試題含解析
- 飛鼠養(yǎng)殖技術(shù)指導(dǎo)
- 2024年襄陽漢江檢測有限公司招聘筆試參考題庫附帶答案詳解
- 醫(yī)院檢驗(yàn)科安全風(fēng)險評估報告表單
評論
0/150
提交評論