国产精品毛片一区二区,欧美熟妇brazzers,丰满女邻居的嫩苞张开视频,天天爽夜夜爽夜夜爽

南京北大青鳥

全國咨詢電話:15195455103

三分鐘了解北大青鳥
當(dāng)前位置:南京北大青鳥 > 學(xué)習(xí)園地 > 編程技巧

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

來源:m.zgqgycbs.cn? ? ? 作者:張曼 ? ??

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

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

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

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

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

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

  4.對(duì)于多線程的處理,如果并發(fā)的線程很多,同時(shí)有頻繁的創(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