国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android adb shell 查看App內(nèi)存(java堆內(nèi)存/vss虛擬內(nèi)存/詳細(xì)的內(nèi)存狀況/內(nèi)存快照hprof)和系統(tǒng)可用內(nèi)存

這篇具有很好參考價值的文章主要介紹了Android adb shell 查看App內(nèi)存(java堆內(nèi)存/vss虛擬內(nèi)存/詳細(xì)的內(nèi)存狀況/內(nèi)存快照hprof)和系統(tǒng)可用內(nèi)存。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.adb shell 獲取app 進(jìn)程的pid

adb shell "ps|grep com.xxx包名"

根據(jù)某個渠道包,去查詢對應(yīng)的pid,如下所示:
adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java

2.通過adb shell 查看設(shè)備的java dalvik 堆內(nèi)存的最大值

執(zhí)行命令行:

adb shell  getprop dalvik.vm.heapgrowthlimit

adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java
若是app進(jìn)程中java heap(dalvik heap size) 堆內(nèi)存超過384m 就會拋出oom.

若是app mainfest.xml 中設(shè)置了largeHeap=“true”,則app 進(jìn)程dalvik heap limit 對應(yīng)512m 限制。

adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java

3.查看app進(jìn)程的物理rss、虛擬內(nèi)存vss情況:

adb shell procrank(需要手機(jī) root 權(quán)限),可忽略該命令。

考慮使用Top 命令行格式:

adb shell top -n 1 |findstr "packageInfo"

以4399渠道包為案例,執(zhí)行的adb shell top -n 1 |findstr "\<com.minitech.mixxxxx.m4399\> \<PID\>"
adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java
或者通過adb shel 查詢進(jìn)程status 方式:

執(zhí)行命令格式:

adb shell  cat /proc/app的pid/status

adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java
注意點:在32位(非arm64位)下,app進(jìn)程中虛擬內(nèi)存的峰值時3G 多,比較容易觸發(fā)oom 情況。

4.通過adb shell 命令行查看app進(jìn)程中內(nèi)存狀況:

格式:

adb shell dumpsys meminfo [pkg/pid]

可以用來查看指定進(jìn)程包名的內(nèi)存使用情況
執(zhí)行adb shell dumpsys meminfo com.minitech.xxxx.m4399, 可以清楚知道java heap 、native heap、數(shù)據(jù)庫、asset 等 ,內(nèi)存數(shù)值是以KB為單位。

C:\Users\hexingen>adb shell dumpsys meminfo com.minitech.xxx.m4399
Applications Memory Usage (in Kilobytes):
Uptime: 4282829 Realtime: 4282829

** MEMINFO in pid 14622 [com.minitech.miniworld.m4399] **
                   Pss  Private  Private  SwapPss     Heap     Heap     Heap
                 Total    Dirty    Clean    Dirty     Size    Alloc     Free
                ------   ------   ------   ------   ------   ------   ------
  Native Heap   455496   455468        8        0   596992   484213   112777
  Dalvik Heap    26347    26328        0        0    45768    29384    16384
 Dalvik Other     6178     6176        0        0
        Stack     3844     3844        0        0
       Ashmem     5561     5092        0        0
    Other dev       28        0       28        0
     .so mmap    62819     5104    55760       36
    .jar mmap        4        0        4        0
    .apk mmap    49281     9980    38240        0
    .ttf mmap     1031        0      768        0
    .dex mmap    24272       16    24228        0
    .oat mmap     8604        0     3968        0
    .art mmap     3794     2224      588        2
   Other mmap     6361       20     6076        0
    GL mtrack   152964   152964        0        0
      Unknown    79528    79528        0        1
        TOTAL   886151   746744   129668       39   642760   513597   129161

 App Summary
                       Pss(KB)
                        ------
           Java Heap:    29140 //java 堆所占用的物理內(nèi)存
         Native Heap:   455468 //native 堆所占用的物理內(nèi)存
                Code:   138068
               Stack:     3844
            Graphics:   152964
       Private Other:    96928
              System:     9739
               //app進(jìn)程中占有物理內(nèi)存(等于uss+按比列的共享庫物理內(nèi)存)
               TOTAL:   886151       TOTAL SWAP PSS:       39

 Objects // 進(jìn)程中關(guān)鍵對象情況 ,activity \binder 個數(shù),可看內(nèi)存泄漏
               Views:      166         ViewRootImpl:        2
         AppContexts:        5           Activities:        4
              Assets:        7        AssetManagers:        4
       Local Binders:       71        Proxy Binders:       40
       Parcel memory:       40         Parcel count:      155
    Death Recipients:        2      OpenSSL Sockets:        8

 SQL
         MEMORY_USED:     1092
  PAGECACHE_OVERFLOW:      342          MALLOC_SIZE:       79

 DATABASES //進(jìn)程中數(shù)據(jù)庫db 打開情況
      pgsz     dbsz   Lookaside(b)          cache  Dbname
         4       40            480      222/96/23  /data/user/0/com.minitech.miniworld.m4399/databases/pangle_com.byted.pangle_bd_embed_tea_agent.db
         4       24             31         2/20/3  /data/user/0/com.minitech.miniworld.m4399/databases/tracker.db
         4       52             91       21/29/12  /data/user/0/com.minitech.miniworld.m4399/databases/bugly_db_
         4       92            200     478/108/25  /data/user/0/com.minitech.miniworld.m4399/databases/pangle_com.byted.pangle_ttopensdk.db
         4       24             98         1/37/4  /data/user/0/com.minitech.miniworld.m4399/databases/pangle_com.byted.pangle_downloader.db
         4       20             17         0/30/3  /data/user/0/com.minitech.miniworld.m4399/databases/pangle_com.byted.pangle_npth_log.db
         4       16             41        13/21/6  /data/user/0/com.minitech.miniworld.m4399/files/MobSDK/comm/dbs/.dh

 Asset Allocations  //進(jìn)程中asset 打開情況
    : 1K
    zip:/data/user/0/com.minitech.miniworld.m4399/files/pangle_p/com.byted.pangle/version-4908/apk/base-1.apk:/resources.arsc: 98K

一般情況下,僅需關(guān)注 Pss Total 和 Private Dirty 列。 在某些情況下,Private Clean 和 Heap Alloc 列提供的數(shù)據(jù)也值得關(guān)注。

接下來,詳細(xì)分析下以上的數(shù)據(jù):

查看java 堆內(nèi)存使用
adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java
若是dalvik heap size 超過jvm 閥值(通常384M 或者512M)時,就會觸發(fā)java heap 導(dǎo)致oom。

查看進(jìn)程中pss 物理內(nèi)存使用情況

  • Pss total : 占用的物理內(nèi)存
  • Private Dirty: app進(jìn)程死亡結(jié)束后,系統(tǒng)可回收的arm 物理內(nèi)存
  • Private clean: 當(dāng)前app進(jìn)程中已被系統(tǒng)回收的arm 物理內(nèi)存
    adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java
    若app 進(jìn)程中pss 物理內(nèi)存越來越大,系統(tǒng)中arm處理器的可用物理內(nèi)存越來越少,直到可用物理內(nèi)存不夠分配時,就會觸發(fā)oom。

查看內(nèi)存泄漏

1.AppContexts 和 Activities和ViewRootImpl 表示當(dāng)前 進(jìn)程中context 個數(shù)和activity個數(shù),根view視圖(即phonewindow) 個數(shù)據(jù),結(jié)合業(yè)務(wù)查看是否超過當(dāng)前存在的個數(shù),若是超過,則發(fā)生內(nèi)存泄漏,被靜態(tài)或者單例類所間接持有。
在java se 中被強引用的對象,是無法被回收的。

更多adb shell dumpsys meminfo 詳解:https://blog.51cto.com/u_4387387/6077172。

另外:/proc/pid/maps 和/proc/pid/smaps 通過adb shell 執(zhí)行需要權(quán)限,暫時無法使用。
adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java

5.查看當(dāng)前的手機(jī)系統(tǒng)內(nèi)存情況:

執(zhí)行adb shell cat /proc/meminfo ,可查看手機(jī)處理器內(nèi)存 ,當(dāng)前可用的內(nèi)存
adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java
當(dāng)MemAvailable 可用內(nèi)存大小越來越少,直到耗盡就觸發(fā)oom。

6.adb shell 獲取內(nèi)存快照hrop:

執(zhí)行命令行:

adb shell am dumpheap package包名 /data/local/tmp/xxx.hprof

adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java
執(zhí)行命令行,等待執(zhí)行完。通過文件 瀏覽器或者studio的文件管理,找到該文件,雙擊打開,就可以查看到詳細(xì)的內(nèi)存快照。
adb shell 內(nèi)存,Android性能優(yōu)化,android,adb,java文章來源地址http://www.zghlxwxcb.cn/news/detail-615522.html

到了這里,關(guān)于Android adb shell 查看App內(nèi)存(java堆內(nèi)存/vss虛擬內(nèi)存/詳細(xì)的內(nèi)存狀況/內(nèi)存快照hprof)和系統(tǒng)可用內(nèi)存的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • adb shell 查看和修改電池信息

    ?命令: adb shell dumpsys battery Current Battery Service state: AC powered: false //false表示沒使用AC電源 USB powered: true //true表示使用USB電源 Wireless powered: false ? ? ? //false表示沒使用無線電源 status: 2 //2表示電池正在充電,1表示沒充電 health: 2 //2表示電池狀態(tài)優(yōu)秀 present: true ? ?/?/true表示已

    2024年02月08日
    瀏覽(18)
  • Android 內(nèi)存分析(java/native heap內(nèi)存、虛擬內(nèi)存、處理器內(nèi)存 )

    Android 內(nèi)存分析(java/native heap內(nèi)存、虛擬內(nèi)存、處理器內(nèi)存 )

    1.jvm 堆內(nèi)存(dalvik 堆內(nèi)存) 不同手機(jī)中app進(jìn)程的 jvm 堆內(nèi)存是不同的,因廠商在出廠設(shè)備時會自定義設(shè)置其峰值。比如,在Android Studio 創(chuàng)建模擬器時,會設(shè)置 jvm heap 默認(rèn)384m , 如下圖所示: 當(dāng)app 進(jìn)程中java 層 new 對象(加起來總和)占用的堆內(nèi)存達(dá)到j(luò)vm heap 峰值時,就會拋出OOM 。

    2024年02月14日
    瀏覽(26)
  • adb查看App日志

    adb查看App日志

    同學(xué)們在進(jìn)行app測試時往往需要抓包,但是有時候抓包可能并不能解決問題,這時候我們就需要進(jìn)一步分析app日志錯誤,方法如下: 1.首先我們需要具備adb調(diào)試工具,具體教程和環(huán)境變量配置可參考其他安裝文檔 2.adb devices查看是否成功連接設(shè)備 3.找到我們對應(yīng)App的包名 找到

    2024年02月13日
    瀏覽(22)
  • adb shell獲取安卓設(shè)備電量ROM內(nèi)存幀率等信息

    adb shell獲取安卓設(shè)備電量ROM內(nèi)存幀率等信息 adb shell指令獲取Android設(shè)備的運行狀態(tài),如電池信息(包含電量百分比,電池狀態(tài),電池溫度,電池電壓,充放電電流),CPU占比,內(nèi)存占比,ROM總大小,ROM已用大小,ROM可用大小,APP界面的幀率等,并封裝成bat腳本 目錄 一、實現(xiàn)方

    2024年02月10日
    瀏覽(27)
  • adb shell命令查看當(dāng)前屏幕可見最頂層Activity和Fragment及其調(diào)用棧

    (1)當(dāng)前屏幕可見頁面最頂層是哪個Activity: (2)當(dāng)前屏幕可見頁面最頂層是哪個Fragment: (3)當(dāng)前屏幕可見最頂層Activity及其調(diào)用棧: android adb命令獲取處于當(dāng)前屏幕的Activity_adb獲取當(dāng)前頁面activity-CSDN博客 Android adb shell dump當(dāng)前手機(jī)設(shè)備的所有activity_zhangphil的博客-CSDN博客。

    2024年02月07日
    瀏覽(27)
  • android 通過adb shell命令旋轉(zhuǎn)Android屏幕朝向

    注意: 默認(rèn)0有的為橫向,有的為縱向 縱向返回結(jié)果: cur 的值 寬 短 x 高 長 init=1080x1920 420dpi cur=1080x1920 app=1080x1794 rng=1080x1017-1794x1731 橫向返回結(jié)果: cur 的值 寬 長 x 高 短 init=1080x1920 420dpi cur=1920x1080 app=1794x1080 rng=1080x1017-1794x1731

    2024年02月11日
    瀏覽(105)
  • adb 查看啟動的app包名和activity

    2023年04月09日
    瀏覽(24)
  • Android adb shell svc 知識詳解

    這個命令可以用來控制電源管理,wifi開關(guān),數(shù)據(jù)開關(guān)(就是上網(wǎng)流量),注意需要root權(quán)限。 有興趣的可以一起學(xué)習(xí)一下。 一、svc 常用命令: 其實還有其他svc 命令,如果想深入了解可以往后看看。 查看系統(tǒng)是否安裝了svc 路徑 /system/bin/svc 如果存在這個 svc 文件,那就就可以執(zhí)

    2024年02月09日
    瀏覽(24)
  • Android adb shell命令捕獲systemtrace

    Android adb shell命令捕獲systemtrace

    Android adb shell命令捕獲systemtrace ? (1)抓取trace文件: -t? ? 時長,20s,20秒的trace文件。 -o? ?保存文件路徑。 ? ? (2)把trace文件從手機(jī)中pull拉取到電腦桌面: ? ? ? (3)在谷歌官網(wǎng): Perfetto UI 打開trace文件: ? ? ? Android ADB(Andorid Debug Bridge)調(diào)試真機(jī)設(shè)備_adb在線執(zhí)行器_zhang

    2024年02月09日
    瀏覽(19)
  • Android - adb shell (查找文件 find )

    Android - adb shell (查找文件 find )

    默認(rèn)adb shell find . -name 文件名這樣查找文件位置無法使用,如下。 記錄下兩種方法。 1、adb shell 進(jìn)入 效果如下: 2、通過 busybox 查找文件 1)首先下載?BusyBox,下載地址為 Index of /downloads/binaries,記得選擇對應(yīng)設(shè)備架構(gòu)的版本。adb shell cat /proc/cpuinfo 2)adb push 本地路徑/busybox-

    2024年01月16日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包