1. <bdo id="8zfej"></bdo>
    <li id="8zfej"><meter id="8zfej"><th id="8zfej"></th></meter></li>

    南京中博教育

    全國咨詢電話:17368476151

    三分鐘了解中博教育
    當(dāng)前位置:南京中博教育 > 學(xué)習(xí)園地 > 編程技巧

    Android程序內(nèi)存管理必讀

    來源:m.zft4.com? ? ? 作者:張曼 ? ??

    Android作為以Java語言為主的智能平臺對于我們開發(fā)一些高性能和質(zhì)量的軟件來說了解Android程序內(nèi)存管理機(jī)制是必須的。

      Android作為以Java語言為主的智能平臺對于我們開發(fā)一些高性能和質(zhì)量的軟件來說了解Android程序內(nèi)存管理機(jī)制是必須的。

      南京北大青鳥張府園校區(qū)的編程老師說:我們要知道什么時候用gc什么時候用recycle以及到底用不用finalization,因為Java對內(nèi)存的分配只需要new開發(fā)者不需要顯示的釋放內(nèi)存,但是這樣造成的內(nèi)存泄露問題的幾率反而更高。

      1.對于常規(guī)開發(fā)者而言需要了解 Java的四種引用方式,比如強(qiáng)引用,軟引用,弱引用以及虛引用。一些復(fù)雜些的程序在長期運行很可能出現(xiàn)類似OutOfMemoryError的異常。

      2.并不要過多的指望gc,不用的對象可以顯示的設(shè)置為空,比如obj=null,這里Android123提示大家,java的gc使用的是一個有向圖,判斷一個對象是否有效看的是其他的對象能到達(dá)這個對象的頂點,有向圖的相對于鏈表、二叉樹來說開銷是可想而知。

      3.Android為每個程序分配的對內(nèi)存可以通過Runtime類的totalMemory() freeMemory() 兩個方法獲取VM的一些內(nèi)存信息,對于系統(tǒng)heap內(nèi)存獲取,可以通過Dalvik.VMRuntime類的getMinimumHeapSize() 方法獲取小可用堆內(nèi)存,同時顯示釋放軟引用可以調(diào)用該類的gcSoftReferences() 方法,獲取更多的運行內(nèi)存。

      4.對于多線程的處理,如果并發(fā)的線程很多,同時有頻繁的創(chuàng)建和釋放,可以通過concurrent類的線程池解決線程創(chuàng)建的效率瓶頸。

      5. 不要在循環(huán)中創(chuàng)建過多的本地變量。

      有關(guān)Android和Java的系統(tǒng)性能分析,Android123將在以后的文章中詳細(xì)講述如何調(diào)試Java分析內(nèi)存泄露以及Android上的gdb調(diào)試器分析得出內(nèi)存性能改進(jìn)。


    分享到:
    近期文章

    搶試聽名額

    名額僅剩66名

    教育改變生活

    WE CHANGE LIVES

    主站蜘蛛池模板: 奇米综合四色77777久久| 亚洲欧洲国产综合| 久久婷婷五月综合色国产香蕉| 亚洲a无码综合a国产av中文| 天堂无码久久综合东京热| 亚洲综合国产精品第一页| 久久婷婷五月综合97色一本一本| 久久一日本道色综合久| 狠狠色成人综合首页| 亚洲另类激情综合偷自拍图| 亚洲日韩在线中文字幕综合| 一本久久a久久精品综合香蕉| 久久精品亚洲综合专区| 亚洲综合av一区二区三区 | 亚洲综合色丁香麻豆| 色老头综合免费视频| 自拍 偷拍 另类 综合图片| 狠狠色综合久色aⅴ网站| 色综合天天综合婷婷伊人| 亚洲欧洲综合在线| 亚洲AV人无码综合在线观看| 成人综合国产乱在线| AV色综合久久天堂AV色综合在| 亚洲AV成人潮喷综合网| 六月婷婷激情综合| 婷婷久久综合九色综合九七| 色噜噜狠狠狠色综合久| 色综合久久综合中文小说| 亚洲欧美国产国产综合一区| 色婷婷六月亚洲综合香蕉| 久久综合鬼色88久久精品综合自在自线噜噜 | 人人婷婷色综合五月第四人色阁 | 久久婷婷五月综合尤物色国产 | 久久久久综合中文字幕 | 狠狠色噜噜狠狠狠狠色综合久AV| 色婷婷久久综合中文久久一本`| 色婷婷五月综合欧美图片| 国产一区二区三区亚洲综合| 日韩亚洲人成在线综合| 亚洲综合国产精品第一页| 亚洲国产精品综合一区在线|