内存信息
adb shell dumpsys meminfo com.test.launcher > d:/dumpsys_mem.txt

** MEMINFO in pid 5560 [com.test.wallpaper] **
                   Pss  Private  Private     Swap      Rss     Heap     Heap     Heap
                 Total    Dirty    Clean    Dirty    Total     Size    Alloc     Free
                ------   ------   ------   ------   ------   ------   ------   ------
  Native Heap    53378    53284        0        0    56932    91708    55578    29736
  Dalvik Heap    78945    78328        0        0   102588   102485    77909    24576
 Dalvik Other     8741     7016        0        0    28276                           
        Stack     2108     2108        0        0     2124                           
       Ashmem      177        0        0        0      916                           
    Other dev      128        0      124        0      492                           
     .so mmap     4777      592       88        0    60192                           
    .jar mmap     1065        0        0        0    34904                           
    .apk mmap    18763       20    18016        0    20916                           
    .ttf mmap      182        0        0        0     1224                           
    .dex mmap      380        0      380        0      380                           
   Other mmap    10959     6032     4848        0    12472                           
      Unknown      715      680        0        0     1560                           
        TOTAL   180318   148060    23456        0   322976   194193   133487    54312
View Code

Pss是进程实际占用的物理内存大小,Rss是进程在物理内存中实际映射的总大小(包括代码段(.so/.jar)、缓存页等非匿名内存)

heapdump.hprof

可以直接拖进AS中

 

当碰到 ActivityTaskManager: START u0 {flg=0x10000000 cmp=com.test/com.test.activity.TestActivity} from uid 1000 pid -1

发现pid等于-1,由于是taskview启动,所以需要进一步查找pid信息

Line 130094: 09-08 11:47:36.379 1247 3323 E ActivityTaskManager: Starting window is not removed, kill it : com.zeekr.carlauncher3d
Line 130740: 09-08 11:47:36.503 1247 3323 I ActivityManager: Killing 3253:com.test/1000 (adj 0): stop com.test due to from pid 1247
Line 130741: 09-08 11:47:36.503 1247 3323 I am_kill : [0,3253,com.test,0,stop com.test due to from pid 1247]

image

很显然是system_server进程杀死的

不排除人为(使用adb force-stop),adb 执行命令时 的 pid 是0 或者null,所以这里排除adb命令,是系统层调用干掉的

user% + sys%持续超过80%时,系统进入高负载状态‌

irq% + sirq%超过30%,表明硬件中断频繁,可能触发系统保护机制‌

image

进程被杀后内存立马恢复

如果pid是其它进程,就需要排查该进程原因,是否自己异常导致的把其它进程也给同时结束了

比如自己进程crash了,可以看到pid就是自己杀死的

 

 
 
posted on 2025-10-11 17:18  翻滚的咸鱼  阅读(20)  评论(0)    收藏  举报