如何查看APP占用的內(nèi)存
專注于為中小企業(yè)提供成都網(wǎng)站制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)橋西免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
系統(tǒng)設(shè)置中--存儲(chǔ)--應(yīng)用--正在運(yùn)行的--某個(gè)APP
adb shell dumpsys meminfo 包名,但無(wú)法實(shí)時(shí)查看
DDMS, 可實(shí)時(shí)查看
備注:
每個(gè)APP占內(nèi)存包括私有(PrivateDirty)、公共(ShareDirty)兩部分
手機(jī)系統(tǒng)設(shè)置里顯示的正在運(yùn)行的APP,顯示的是Total Pss(PSS:實(shí)際使用的物理內(nèi)存)
步驟:
adb shell dumpsys meminfo com.yibasan.lizhifm
不能超過(guò)最大限制(使用下面的命令查看)
adb shell
getprop | grep heapgrowthlimit
查看單個(gè)應(yīng)用程序最大內(nèi)存限制(meminfo里面的dalvik heap size的最大值27716KB,
如果超出了192M那就很可能會(huì)發(fā)生OOM)
總結(jié):
每次gc后,pss total沒(méi)有明顯回落,就有可能存在內(nèi)存泄漏,但仍需長(zhǎng)時(shí)間觀察。
dalvik heap size超過(guò)heapgrowthlimit會(huì)發(fā)生OOM,
但如果Manifest中的application標(biāo)簽中聲明android:largeHeap=True,
則dalvik heap達(dá)到heapgrowthlimit限制的時(shí)候不會(huì)出現(xiàn)OOM,
需要達(dá)到heap size的時(shí)候才會(huì)出現(xiàn)OOM
adb shell
getprop | grep dalvik.vm.heapsize? 單個(gè)java虛擬機(jī)最大的內(nèi)存限制
再次總結(jié):
dalvik.vm.heapstartsize----------初始分配的內(nèi)存大小
dalvik.vm.heapgrowthlimit------應(yīng)用的最大內(nèi)存限制
dalvik.vm.heapsize--------------java虛擬機(jī)最大內(nèi)存限制