1 adb shell dumpsys
[1] adb shell dumpsys meminfo
adb shell dumpsys meminfo
其中,package_name 也可以换成程序的pid,pid可以通过 adb shell ps 来查找
下图是某个程序的内存使用情况:
重点关注如下几个字段:
(1)Native/Dalvik 的 Heap 信息
具体在上面的第一行和第二行,它分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。
Java Heap:Java层内存
Native Heap:JNI层内存
(2)Total 的 PSS 信息
这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些程序占内存比较大了。
TOTAL:占用内存总量
最常见内存泄漏的是调用流程问题,如:
在选择不同jpg时会调用Native_Uninit,但是同一个jpg选择不同模式时没有调用Native_Uninit(只调用Native_Process,Native_Process里alloc了内存却没有释放),最终导致内存泄漏。
[2] adb shell dumpsys activity top
显示当前Activity和View Hierarchy
[3] adb shell dumpsys package com.pingan.smt
查看包的信息
2 adb shell进入root
adb root //adb root失败:需要打开USB调试模式!!!
adb remount
adb shell
exit //退出adb shell
3 adb安装/查找/卸载apk/ 清除apk缓存
adb install -r -d ishenzhen.apk
adb shell pm list packages -3 //-3 查找apk,不包含预置apk
adb unintall com.pingan.smt
adb shell pm clear com.pingan.smt
4 adb抓取android图片
adb shell screencap -p /sdcard/DCIM/1.png
adb pull /sdcard/DCIM/1.png ./
5 安装adb驱动
如何安装adb驱动 安装adb驱动的方法_手机-百度经验
adbdriver.zip
重启电脑,adb shell,检查adb驱动是否安装成功
6 adb查看进程信息
adb shell ps
VSZ:虚拟内存
RSS:实际常驻内存
adb shell ps | findstr "portraitlightingeditor"
window下"grep"用的是findstr
7 adb push
adb push C:\Users\xxx\Desktop\camera.sdm660.so /vendor/lib/hw/
注意:adb push so后需要adb reboot!!!
8 adb fastboot烧机
1 adb reboot bootloader
2 运行平台相关的flash.bat脚本
flash.bat:
echo Start flashing......
fastboot flash abl abl.elf
fastboot flash system system.img
fastboot flash boot boot.img
fastboot flash vendor vendor.img
fastboot flash userdata userdata.img
fastboot flash persist persist.img
echo Press "enter" to exit
pause
9 adb remount失败,显示 "Read-only system push failed"
1. adb root
2. adb remount
3. adb disable-verity
4. adb reboot
5. adb root
6. adb remount
10 adb shell getproperty
adb shell getproperty前需要adb shell setenforce 0