手機(jī)內(nèi)存

手機(jī)內(nèi)存是指手機(jī)的RAM,它包括以下幾個(gè)部分:

  • 寄存器:速度最快的存儲(chǔ)場(chǎng)所,因?yàn)榧拇嫫魑挥谔幚砥鲀?nèi)部,在程序中無(wú)法控制。
  • 棧(Stack):存放基本類型的數(shù)據(jù)和對(duì)象的引用,但對(duì)象本身不存放在棧中,而是存放在堆中。
  • 堆(Heap):堆內(nèi)存用來(lái)存放由new創(chuàng)建的對(duì)象和數(shù)組,在堆中分配的內(nèi)存,由java虛擬機(jī)的GC來(lái)管理。
  • 靜態(tài)存儲(chǔ)區(qū)域(Static Field):靜態(tài)存儲(chǔ)區(qū)域就是指在固定的位置存放應(yīng)用程序運(yùn)行時(shí)一直存在的數(shù)據(jù),java在內(nèi)存中專門劃分了一個(gè)靜態(tài)存儲(chǔ)區(qū)域來(lái)管理一些特殊的數(shù)據(jù)變量如靜態(tài)的數(shù)據(jù)變量。
  • 常量池(Constant Pool):JVM虛擬機(jī)必須為每個(gè)被裝載的類型維護(hù)一個(gè)常量池。常量池就是該類型所用到常量的一個(gè)有序集合,包括直接常量(基本類型,String)和對(duì)其他類型,字段和方法的符號(hào)引用。
注意:當(dāng)定義一個(gè)變量,java虛擬機(jī)就會(huì)在棧中為該變量分配內(nèi)存空間,當(dāng)該變量作用域結(jié)束后,這部分內(nèi)存空間會(huì)馬上被用作新的空間進(jìn)行分配。如果使用new的方式創(chuàng)建一個(gè)變量,那么就會(huì)在堆中為這個(gè)對(duì)象分配內(nèi)存空間,即使該對(duì)象的作用域結(jié)束,這部分內(nèi)存也不會(huì)立即被回收,而是等待系統(tǒng)GC進(jìn)行回收??梢允褂萌缦麓a獲得堆的大小:
ActivityManager activityManager= (ActivityManager) getSystemService(ACTIVITY_SERVICE);
                int heapSize=activityManager.getLargeMemoryClass();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容