
android手机eMMC=NAND Flash+闪存控制芯片+标准接口封装
就是在原有内置存储器的基础上,又额外加了一个控制芯片,最后再以统一的方式封装,并预留一个标准接口,以便手机客户拿来直接使用。这有点类似于联发科的MTK,或者是高通的Snapdragon解决方案,手机终端厂商买的不只是一颗CPU,而是一整套方案。如此一来, *** 作简化了不少,还避免了不同厂牌硬件之间的兼容性问题。上述3款产品之所以能够在SD卡读取一项中脱颖而出,靠的就是eMMC,当然使用eMMC内置存储的不止这三家,近期给笔者留下比较深印象的、移动首款Android40双核智能机--中兴U970也属于eMMC阵营的产品。
1、 手机的内置存储读取速度提升,到来的直接好处就是手机执行效率的提升。无论是播放音乐视频,还是浏览网页,以及最耗硬件资源的玩游戏,在处理器、RAM之外,所谓的ROM读取速度也是相当重要的一项指标。
2、MMC协会董事会成员包括:ATP、华硕、Gemplus、惠普、英飞凌、Intel、Itri、Kingston、Lexar媒体公司、Micron科技、诺基亚、Power Digital Card、三星电子、Silicon Motion。在最新的eMMC45之后,eMMC新规格将由三星电子的UFS(Universal Flash Storage)主导,未来甚至还会把RAM封装打包,三星在这方面罕有敌手。
3、
常用adb 命令
配置mat 环境,因为从 android profile直接获取到的hprof文件格式与mat的格式不兼容,所以需要使用工具转换一下
第 1 行:进程信息
总共(total):754个
运行中(running)状态:1个
休眠(sleeping)状态:753个
停止(stopped)状态:0个
僵尸(zombie)状态:0个
第 2 行:内存信息
55G total:物理内存总量
54G used:使用中的内存量
165M free:空闲内存量
76M buffers: 缓存的内存量
第 3 行:Swap分区信息
25G total:交换区总量
789M used:使用的交换区大小
17G free:空闲交换区大小
24G cached:缓冲的交换区大小
内存监控时,可以监控swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是内存不够用了。
第 4 行:CPU信息
800%cpu:8核cpu
100%user:用户进程使用CPU占比
3%nice:优先值为负的进程占比
54%sys:内核进程使用CPU占比
641%idle:除IO等待时间以外的其它等待时间占比
0%iow:IO等待时间占比
3%irq:硬中断时间占比
0%sirq:软中断时间占比
第 5 行及以下:各进程的状态监控
PID:进程id
USER:进程所属用户
PR:进程优先级
NI:nice值,负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,RES=CODE+DATA
SHR:共享内存大小
S:进程状态
%CPU:上次更新到现在的CPU占用时间比
%MEM:使用物理内存占比
TIME+:进程时间的CPU时间总计,单位1/100秒
ARGS:进程名
1、使用df命令查看#dfdfFilesystemSizeUsedFreeBlksize/dev197M64K197M4096/mnt/asec197M0K197M4096/mnt/obb197M0K197M4096/system295M245M50M4096/data755M26M728M4096/cache188M4M184M4096/HWUserData2G1024K2G32768/cust59M14M44M4096/mnt/sdcard7G753M6G32768/mnt/secure/asec7G753M6G32768看到/system分区有295MB的大小。2、接着查看/proc下的partitions#cat/proc/partitionscat/proc/partitionsmajorminor#blocksname17903817472mmcblk0179120mmcblk0p11792300mmcblk0p21793133120mmcblk0p317941mmcblk0p4179512288mmcblk0p51796196608mmcblk0p617974096mmcblk0p717983072mmcblk0p817994096mmcblk0p9179103072mmcblk0p10179113072mmcblk0p1117912393216mmcblk0p1217913786432mmcblk0p13179144096mmcblk0p14179158192mmcblk0p151791620480mmcblk0p16179174096mmcblk0p171791881920mmcblk0p18179192154496mmcblk0p19179327761920mmcblk1179337757824mmcblk1p13104096mtdblock0看出,分区mmcblk012的大小最接近295MB,判断挂载点/system就对应该它了。(其实,可以在/proc/mounts下面看的更直接。。。)3、于是,输入以下mount命令#mount-oremount,rw/dev/block/mmcblk0p12/system就可以在/system下面进行写 *** 作。当然,如果不打算重启机子的话,最好还是将它恢复到readonly状态。输入:#mount-oremount,ro/dev/block/mmcblk0p12/system该方法比较麻烦的是还要判断某挂载点跟分区,理论上说必须要将它们对应上来,否则会出错。而实际上试过将不同的分区跟挂载点remount一下,居然还是可以的。原因暂时不明。
1、查看最上层成activity名字:
adb shell dumpsys activity | findstr "mFocusedActivity"
或者 adb shell dumpsys window w | findstr / | findstr name=
2、查看Activity的任务栈:
3、显示所有的activities的信息,包括任务栈等:
adb shell dumpsys activity
4、查看Android应用包名package和入口activity名称 :
aapt dump badging E:\apk\es3apk
5、显示accounts信息:
adb shell dumpsys account
5、显示CPU信息 :
adb shell dumpsys cpuinfo
查看CPU使用信息
adb shell top -n 1 -d 05 | findstr proc_ id
6、显示键盘,窗口和它们的关系
adb shell dumpsys window
当我们需要知道设备的分辨率时
adb shell dumpsys window displays
查看UI绘制的各个层级信息
adb shell dumpsys SurfaceFlinger
7、显示wifi信息
adb shell dumpsys wifi
8、电量信息及CPU 使用时长
adb shell dumpsys batteryinfo $package_name
9、获取安装包信息
adb shell dumpsys package packagename
10、每个应用的启动次数和时间
adb shell dumpsys usagestats
11、显示状态栏相关的信息
adb shell dumpsys statusbar
12、内存信息(meminfo package_name or pid 使用程序的包名或者进程id显示内存信息)
adb shell dumpsys meminfo
得到comtelecarobintest进程使用的内存的信息 adb shell dumpsys meminfo comtelecarobintest
13、磁盘相关信息
adb shell dumpsys diskstats
14、电池相关信息
adb shell dumpsys battery
15、显示Alarm信息
adb shell dumpsys alarm
统计系统耗电量
adb shell dumpsys batterystats
设置线程的优先级
adb shell dumpsys activity|grep oom_adj
16、强制关闭一个应用程序;
adb shell am force-stop <PACKAGE>
17、查看内存信息
adb shell cat proc/meminfo
指定进程内存地址映射
adb shell cat proc/pid/maps
指定进程内存详细使用信息
adb shell cat proc/pid/smaps
VSS RSS PSS USS 信息
adb shell procrank
指定进程VSS RSS PSS USS 详细信息
adb shell procmem pid
18、查看可输入的设备
adb shell getevent -p
19、获得特定设备的输入信息
adb shell getevent /dev/input/event0
20、点击
adb shell input tap x y
21、发送按键
adb shell input keyevent 82(keycode)
22、输入文本
adb shell input text XXXX
23、查看报名中包含mobileqq的进程
adb shell ps | findstr mobileqq
24、远程进程ID
adb jdwp
25、获取序列号
adb get-serialno
26、重启到bootloader,即刷机模式
adb reboot bootloader
27、重启到recovery,即恢复模式
adb reboot recovery
28、获取机器MAC地址:
adb shell cat /sys/class/net/wlan0/address
29、获取CPU序列号
adb shell cat /proc/cpuinfo
30、覆盖安装(保留数据和缓存文件,重新安装apk)
adb install -r <apkfile>
31、安装apk到sd卡
adb install -s <apkfile>
32、卸载app但保留数据和缓存文件
adb uninstall -k <package>
33、查看设备cpu和内存占用情况
adb shell top
34、查看占用内存前6的app
adb shell top -m 6
35、刷新一次内存信息,然后返回
adb shell top -n 1
36、查询各进程内存使用情况
adb shell procrank
37、查看指定进程状态
adb shell ps -x [PID]
38、查看后台services信息
adb shell service list
39、查看当前内存占用(该方式只能得出系统整个内存的大概使用情况) 车
如果你想查看所有进程的内存使用情况
adb shell procrank
40、查看IO内存分区
adb shell cat /proc/iomem
41、查看wifi密码
adb shell cat /data/misc/wifi/conf
42、清除log缓存
adb logcat -c
43、查看设备信息
adb shell cat /system/buildprop
44、跑monkey
adb shell monkey -v -p yourpackagename 500
45、列出目标设备上安装的所有app的包名
adb shell pm list packages
46、截屏命令:
adb shell screencap -p /sdcard/screenpng
adb pull /sdcard/screenpng
adb shell rm /sdcard/screenpng
录制手机屏幕,视频格式为mp4,存放到手机sd卡里,默认录制时间为180s:
adb shell screenrecord
限制视频录制时间为10s,如果不限制,默认180s:
adb shell screenrecord --time-limit 10 /sdcard/demomp4
指定视频分辨率大小:
adb shell screenrecord --size 1280720 /sdcard/demomp4
指定视频的比特率:
adb shell screenrecord --bit-rate 6000000 /sdcard/demomp4
在命令行显示log:
adb shell screenrecord --time-limit 10 --verbose /sdcard/demomp4
47、设置、获取属性信息
adb shell getprop [key]
adb shell setprop [key] [value]
监听系统属性的变化,如果期间系统的属性发生变化则把变化的值显示出来
adb shell watchprops
48、adb logcat 每一条日志消息都有一个标记和优先级与其关联。
(1)标记是一个简短的字符串,用于标识原始消息的来源 (例如"View" 来源于显示系统)。优先级是下面的字符,顺序是从低到高:
V — 明细 (最低优先级)
D — 调试
I — 信息
W — 警告
E — 错误
F — 严重错误
S — 无记载 (最高优先级,没有什么会被记载)
(2)查看过滤日志
adb logcat ActivityManager:I :S
:S 用于设置所有标记的日志优先级为S,可以确保输出符合指定的过滤器设置的一种推荐的方式,
这样过滤器就成为了日志输出的“白名单”
显示所有优先级大于等于“warning”的日志
adb logcat :W
(3)日志消息在标记和优先级之外还有很多元数据字段,这些字段可以通过修改输出格式来控制输出结果, -v 选项加上下面列出的内容可以控制输出字段:
brief — 显示优先级/标记和原始进程的PID (默认格式)
process — 仅显示进程PID
tag — 仅显示优先级/标记
thread — 仅显示进程:线程和优先级/标记
raw — 显示原始的日志信息,没有其他的元数据字段
time — 显示日期,调用时间,优先级/标记,PID
long —显示所有的元数据字段并且用空行分隔消息内容
使用 thread 输出格式
adb logcat -v thread
(4)Android日志系统为日志消息保持了多个循环缓冲区,而且不是所有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可以使用-b 选项,以下是可以指定的缓冲区:
radio — 查看包含在无线/电话相关的缓冲区消息
events — 查看事件相关的消息
main — 查看主缓冲区 (默认缓冲区)
查看radio缓冲区
adb logcat -b radio
48、打印应用程序的log
adb logcat -b main -v time>applog
49、打印射频相关的log,SIM STK也会在里面,modem相关的ATcommand等,当然跟QXDM差的很远了
adb logcat -b radio -v time> radiolog
50、打印系统事件的日志,比如触屏事件
adb logcat -b events -v time
51、tcpdump 是很有用的,对于TCP/IP协议相关的都可以使用这个来抓
adb shell tcpdump -s 10000 -w /sdcard/capturepcap
52、状态信息,里面包含有dmesg,dumpstate和dumpsys
adb bugreport>bugreportlog
53、kernel的log凡是跟kernel相关的,比如driver出了问题(相机,蓝牙,usb,启动,等等吧)
adb shell dmesg > ldmesg_kernellog
54、dumpstate是系统状态信息,里面比较全,包括手机当前的内存信息、cpu信息、logcat缓存,kernel缓存等等 。
adb shell dumpstate
55、关于系统service的内容都在这个里面
adb shell dumpsys
56、显示内存信息
adb shell dumpsys meminfo system
以上就是关于android手机EMMC是什么硬盘分区全部的内容,包括:android手机EMMC是什么硬盘分区、Android 常用adb命令、如何在adb shell下mount Android下的分区等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)