這老師15:31的地方講錯了,希望改正一下。
totalMemory()這個方法返回的是虛擬機(jī)進(jìn)程現(xiàn)在已經(jīng)從操作系統(tǒng)那里挖過來的內(nèi)存大小,也就是虛擬機(jī)進(jìn)程當(dāng)時所占用的所有內(nèi)存的所有內(nèi)存大小,而freeMemory()只不過是totalMemory()里面挖過來還沒用的上的富裕內(nèi)存,不存在像這老師說的“11 + 3 接近15M左右是系統(tǒng)現(xiàn)在分配給這個APP的”,系統(tǒng)現(xiàn)在分配給這個APP的就是11M,即totalMemory()的值。
totalMemory()這個方法返回的是虛擬機(jī)進(jìn)程現(xiàn)在已經(jīng)從操作系統(tǒng)那里挖過來的內(nèi)存大小,也就是虛擬機(jī)進(jìn)程當(dāng)時所占用的所有內(nèi)存的所有內(nèi)存大小,而freeMemory()只不過是totalMemory()里面挖過來還沒用的上的富裕內(nèi)存,不存在像這老師說的“11 + 3 接近15M左右是系統(tǒng)現(xiàn)在分配給這個APP的”,系統(tǒng)現(xiàn)在分配給這個APP的就是11M,即totalMemory()的值。
2017-06-17
最新回答 / 慕瓜4747088
我不是老師哈,但我可以給你簡單的聊一下。虛擬機(jī)的內(nèi)存不是說一上來就給你分多少,然后就不變了,是會根據(jù)程序的需要變化的。你可以多多的寫幾個APP然后run.totalMemory();看看每個的總內(nèi)存,肯定都是在變化的。這個所謂的虛擬機(jī),說白了也就是操作系統(tǒng)的一個進(jìn)程而已,你通過任務(wù)查看器看看進(jìn)程,有哪個進(jìn)程的內(nèi)存是一直不變化的???系統(tǒng)分配給進(jìn)程的內(nèi)存肯定是動態(tài)的,記住“隨用隨取”四個字就好了
我記得好像看過文章說,android2.3以后google已經(jīng)不建議使用弱引用,android2.3后強(qiáng)行回收軟引用和弱引用;
2017-05-29
講的這么詳細(xì),工具就是android studio自帶的,源碼是點擊ctrl進(jìn)去的,只要你下載了對應(yīng)的版本,有些人的問題感覺根本沒過大腦,有些人自己搞不懂不要胡亂噴老師,你又沒花錢。
2017-05-25
http://blog.csdn.net/Fight_Rain/article/details/70198565
2017-04-18