c语言中%s和%c1.5/2.5和1.5%2.5分别等于多少?

自从工作越来越忙后,越来越懒得写文章了,趁着1024程序员节,仪式性地写篇文章,分享一下最近调试设备经常用到的adb指令~
1.查看应用内存占用1.1 dumpsys meminfo packagedumpsys是查看系统服务信息的一个常用指令,可以用dumpsys -l查看系统所有的服务,dumpsys meminfo可以查看到应用最详细的内存占用情况,主要有两大用途查看应用的内存占用情况,可以看到不同的内存类型占用,详细的占用情况可助于分析应用哪一块占用了较大内存。辅助分析内存泄露问题,该命令可以查看到Activity的个数,当退出界面后仍然还有activity存在或者个数不对,则说明该activity已经泄露了。命令查询的数据示例如下:Applications Memory Usage (in Kilobytes):
Uptime: 195423478 Realtime: 195423478** MEMINFO in pid 23209 [com.example.myfirstapp] **Pss
Private
Private
Swap
Heap
Heap
HeapTotal
Dirty
Clean
Dirty
Size
Alloc
Free------
------
------
------
------
------
------Native Heap
8406
8284
0
0
20620
17082
3537Dalvik Heap
988
900
0
0
2962
1426
1536Dalvik Other
481
476
0
0
Stack
56
56
0
0
Ashmem
7
0
0
0
Other dev
12
0
12
0
.so mmap
2123
160
8
0
.jar mmap
1737
0
24
0
.apk mmap
1027
0
0
0
.ttf mmap
48
0
0
0
.dex mmap
1944
4
1936
0
.oat mmap
66
0
0
0
.art mmap
5883
5508
0
0
Other mmap
60
20
0
0
Unknown
725
688
0
0
TOTAL
23563
16096
1980
0
23582
18508
5073App SummaryPss(KB)------Java Heap:
6408Native Heap:
8284Code:
2132Stack:
56Graphics:
0Private Other:
1196System:
5487TOTAL:
23563
TOTAL SWAP (KB):
0ObjectsViews:
17
ViewRootImpl:
1AppContexts:
6
Activities:
1Assets:
2
AssetManagers:
0Local Binders:
9
Proxy Binders:
28Parcel memory:
2
Parcel count:
10Death Recipients:
0
OpenSSL Sockets:
0WebViews:
0SQLMEMORY_USED:
0PAGECACHE_OVERFLOW:
0
MALLOC_SIZE:
0PSS表示应用程序占用的共享内存和私有内存的总和,该参数能比较精确地表示应用占用的内存大小。如果dumpsys meminfo不带包名,则会打印出系统整体所有应用的内存占用,并且还能看到应用的进程等级,对于系统性能调优用途很大。1.2 top -s 6top命令比dumpsys命令的优点是实时性高,缺点是无法查看到PSS的数值,要自己估算出实际的内存占用情况。top命令还能查看当前应用的cpu占用率及内存占用情况,这是top命令一个常用用途。-s 6参数含义是用RSS列进行排序,让内存占用最高的在最前边,默认排序是CPU占用率,应用在未操作时会排到很后,有可能会看不到当前的应用。Tasks: 162 total,
1 running, 161 sleeping,
0 stopped,
0 zombieMem:
1.9G total,
1.7G used,
175M free,
23M buffersSwap:
0 total,
0 used,
0 free,
968M cached
400%cpu
11%user
1%nice
8%sys 380%idle
0%iow
0%irq
0%sirq
0%hostPID USER
PR
NI VIRT [RES] SHR S %CPU
%MEM
TIME+ ARGS
515 system
18
-2 7.7G 295M 199M S
4.6
14.7
29:48.69 system_server683 u0_a100
20
0 5.2G 205M 149M S
2.6
10.2
40:35.52 com.android.systemui8036 system
20
0 4.6G 166M 116M S
0.0
8.2
0:03.29 com.android.settings935 u0_a102
20
0 4.8G 163M 110M S
0.0
8.1
0:21.57 com.android.launcher3176 root
20
0 5.1G 147M 122M S
0.0
7.3
0:02.27 zygote64999 u0_a115
20
0 4.6G 139M
99M S
0.0
6.9
0:03.67 com.android.inputmethod.latin3250 u0_a116
20
0 4.5G 131M
85M S
0.0
6.5
0:01.33 com.dfl.android.bestpractice764 radio
20
0 4.9G 123M
94M S
0.3
6.1
2:24.95 com.android.phone
16167 u0_a56
20
0 4.4G 114M
79M S
0.0
5.7
0:00.23 com.android.documentsui1136 u0_a99
20
0 4.5G 113M
78M S
0.0
5.6
0:00.48 com.android.dialer
23209 u0_a123
10 -10 4.4G 111M
78M S
0.0
5.5
0:00.35 com.example.myfirstapp748 network_sta+ 20
0 4.6G 107M
80M S
0.0
5.3
0:25.21 com.android.networkstack2515 system
20
0 4.5G 105M
63M S
0.0
5.2
0:00.71 com.android.keychain1907 u0_a67
20
0 4.5G 102M
68M S
0.0
5.0
0:00.48 com.android.permissioncontroller1942 u0_a65
20
0 4.4G
96M
62M S
0.0
4.8
0:00.39 com.android.providers.calendar1311 radio
20
0 4.4G
94M
60M S
0.0
4.6
0:00.24 com.android.ims.rcsservice838 u0_a58
20
0 4.5G
93M
67M S
0.0
4.6
0:00.62 android.ext.services
16269 u0_a54
20
0 4.4G
90M
57M S
0.0
4.5
0:00.06 com.android.mtp1288 secure_elem+ 20
0 4.4G
90M
57M S
0.0
4.5
0:00.21 com.android.se
16209 u0_a64
20
0 4.4G
90M
56M S
0.0
4.4
0:00.04 com.android.externalstorage
16237 u0_a54
20
0 4.4G
90M
63M S
0.0
4.4
0:00.07 android.process.mediaPSS的内存=RES(进程当前实际占用的物理大小)-SHR(共享内存大小)/共享进程数量,RES的内存值包含了和其他进程共享内存的数据,所以其值会比实际应用占用的内存值PSS要偏大。另外也可使用命令procrank可查看应用的内存占用排名。2.查看系统硬件信息2.1 查看内存信息 cat /proc/meminfo该命令可查看到关于内存的详细信息,包含内存总大小及各个细分类型的内存大小,其中的CmaTotal与CmaFree是一个重要的参数,表示可分配的连续物理内存,如果cma的内存不足,会导致无法打开新界面或弹窗,或出现黑屏的问题。MemTotal:
7708608 kB
MemFree:
125148 kB
MemAvailable:
2150096 kB
Buffers:
2096 kB
Cached:
1959024 kB
SwapCached:
31456 kB
Active:
1425944 kB
Inactive:
1842408 kB
Active(anon):
781092 kB
Inactive(anon):
797336 kB
Active(file):
644852 kB
Inactive(file):
1045072 kB
Unevictable:
193320 kB
Mlocked:
193320 kB
SwapTotal:
5767164 kB
SwapFree:
740944 kB
Dirty:
208 kB
Writeback:
0 kB
AnonPages:
1497100 kB
Mapped:
1086956 kB
Shmem:
84136 kB
KReclaimable:
639856 kB
Slab:
644596 kB
SReclaimable:
185208 kB
SUnreclaim:
459388 kB
KernelStack:
137728 kB
PageTables:
188484 kB
NFS_Unstable:
0 kB
Bounce:
0 kB
WritebackTmp:
0 kB
CommitLimit:
9621468 kB
Committed_AS:
198069204 kB
VmallocTotal:
263061440 kB
VmallocUsed:
235160 kB
VmallocChunk:
0 kB
Percpu:
13568 kB
CmaTotal:
372736 kB
CmaFree:
0 kB
IonTotalCache:
178616 kB
IonTotalUsed:
428572 kB
GPUTotalUsed:
450368 kB
我手机打印出的CmaFree为0kb,但手机还是能正常使用,这一块与我的认识不太一样,只能推测为手机系统自已做过内存管理模块相关的修改。2.2 查看cpu信息 cat /proc/cpuinfo该命令可以查看CPU的核心数,及架构信息。Processor : AArch64 Processor rev 0 (aarch64)
processor : 0
BogoMIPS : 38.40
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x51
CPU architecture: 8
CPU variant : 0xd
CPU part : 0x805
CPU revision : 14processor : 1
BogoMIPS : 38.40
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x51
CPU architecture: 8
CPU variant : 0xd
CPU part : 0x805
CPU revision : 14
...
processor : 7
BogoMIPS : 38.40
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd0d
CPU revision : 0Hardware : Qualcomm Technologies, Inc SM8250_AC
我手机的基本信息是64位8核cpu,高通芯片。2.3 查看存储分区及占用 df -h该命令会以M为单位,列出系统上所有目录及其分区,最主要用途是查看哪个分区占用了较大的存储。Filesystem
Size Used Avail Use% Mounted on
/dev/block/dm-15
650M 650M
0 100% /
tmpfs
3.6G 2.0M
3.6G
1% /dev
tmpfs
3.6G
24K
3.6G
1% /mnt
/dev/block/dm-16
1.0G 1.0G
0 100% /system_ext
/dev/block/dm-17
2.3M 2.3M
0 100% /product
overlay-overlay
3.4M 3.4M
0 100% /product/app
overlay-overlay
3.4M 3.4M
0 100% /product/priv-app
overlay-overlay
3.4M 3.4M
0 100% /product/lib64
overlay-overlay
3.4M 3.4M
0 100% /product/lib
overlay-overlay
3.4M 3.4M
0 100% /product/overlay
overlay
511M 511M
0 100% /product/etc/permissions
overlay
511M 511M
0 100% /product/framework
/dev/block/dm-18
930M 930M
0 100% /vendor
/dev/block/dm-19
237M 237M
0 100% /odm
/dev/block/dm-7
2.1G 2.1G
0 100% /my_stock
/dev/block/dm-12
1.0G 1.0G
0 100% /my_preload
/dev/block/dm-14
822M 822M
0 100% /my_bigball
/dev/block/dm-13
368K 368K
0 100% /my_manifest
tmpfs
3.6G
16K
3.6G
1% /apex
/dev/block/sda9
404M
40M
351M
11% /cache
/dev/block/dm-49
106G 103G
2.8G
98% /data
...
/dev/block/loop31 232K 116K
112K
51% /apex/com.android.scheduling@339990000
/dev/block/loop32 720K 692K
16K
98% /apex/com.android.sdkext@339990000
/dev/block/loop33 232K
80K
148K
36% /apex/com.android.ondevicepersonalization@339990000
/dev/fuse
106G 103G
2.8G
98% /storage/emulated
/data/media
106G 103G
2.8G
98% /storage/emulated/0/Android/data
如果想查看某个目录下哪个文件或目录占用的存储最大,可使用命令df -sh *来查看,先进入指令的目录,再执行该指令。3.5K ARDebug
12K Alarms
18G Android
59M AnkiChina
12K Audiobooks
201M BaiduNetdisk
15K Browser
3.5K ByteDownload
15K Ccb
231K ColorOS
2.7G DCIM
5.4M DingTalk
3.5M Documents
1.2G Download
...
2.4 查看系统配置的属性信息 getprop该命令可查看到系统预置的一些属性值,有一些功能相关联的信息可以通过反射比较方便要从prop中取出。[vendor.media.vpp.osie.enable]: [0]
[vendor.media.vpp.osie.internal.enable]: [1]
[vendor.media.vpp.osie.internal.version]: [osie2.0]
[vendor.media.vpp.sr.internal.enable]: [1]
[vendor.modem_dump_action]: [1]
[vendor.opengles.version]: [196610]
[vendor.oplus.dalvik.vm.heapgrowthlimit]: [384m]
[vendor.oplus.dalvik.vm.heapmaxfree]: [8m]
[vendor.oplus.dalvik.vm.heapminfree]: [512k]
[vendor.oplus.dalvik.vm.heapsize]: [512m]
[vendor.oplus.dalvik.vm.heapstartsize]: [16m]
[vendor.oplus.dalvik.vm.heaptargetutilization]: [0.75]
[vendor.oplus.sap.interface]: [wlan2]
[vendor.vidc.debug.level]: [1]
[vendor.vold.serialno]: []
[vold.fbe.decrypted]: [1]
[vold.has_adoptable]: [0]
[vold.has_compress]: [0]
[vold.has_quota]: [1]
[vold.has_reserved]: [1]
[vold.storage.prepared]: [1]
如果有root权限,还可以通过命令setprop key 值,修改参数的值。2.5 设备的分辨率及dpi 查看设备的分辨率wm size,
查看设备的dpiwm density emulator64_arm64:/ $ wm size
Physical size: 1920x1080$ wm density
Physical density: 160
3. 模拟操作指令3.1 白天黑夜切换 cmd uimode night该指令需要先执行su切换成root用户,适用于可进行root的设备。可用于验证白天黑夜模式快速切换下界面是否有异常 cmd uimode night yes
Night mode: yes
emulator64_arm64:/ # cmd uimode night no
Night mode: no
emulator64_arm64:/ # cmd uimode night auto
Night mode: auto
白天:night no黑夜: night yes自动:night auto3.2 模拟输入事件 inputinput支持的输入的类型有text:文本,input text 123keyevent:物理按键,input keyevent 4,返回back;3回到主页hometap:点击事件,input tap 100 100,点击(100,100)对应的位置点swipe:滑动事件,input swipe 10 20 30 40,从(10,20)坐标滑动到(30,40)draganddrop:拖动事件,input draganddrop 10 20 30 40,从(10,20)坐标拖动到(30,40)press:按压事件,input press 200 300 ,按下(200,300)坐标,不会触发点击事件roll:滚动事件,input roll 100 100,向右滚动100像素,向下滚动100像素}
乙1、为0.688Ω,根据公式R=ρl/s可以算出。差层支ρ是导体电阻率,l态果强距导体长度,s导体横截面积.导体的电阻率跟温度有关,20℃时的铜的电阻率为0.0172(郸?#8226; m),所以在常易之盾政息液普五想温20℃时是R=0.0172*10^-6*100/2.5*10-6=0.688Ω。2、电阻自想(Resistance,通常用“R”表示),是一个物理量,在物理学中表示导体对电流阻碍作用的大小。导体的电阻越大,表示导体记秋由官费散斯械对电流的阻碍作用越大。360问答不同的导体,电阻一般不同,电阻是导体本身的一种特性。电阻将会导致电子流通量的变化,电阻越小,电子流通量越大,反之亦然。而超导体则没有电阻。 }

我要回帖

更多关于 c语言中%s和%c 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信