app性能

时间:2021-02-09 18:49:46

性能获取办法

appium webview context execute script perfmance api
appium/selenium的ExecuteScript Api
注入js:
return JSON.stringify(window.performance.timing)
JSON.stringify(window.performance.getEntriesByName(document.querySelector("img").src[0],null,2)

{
    "name": "https://testerhome.com/system/letter_avatars/2/A/226_95_81/64.png",
    "entryType": "resource",
    "startTime": 277.4149999895599,
    "duration": 0,
    "initiatorType": "img",
    "nextHopProtocol": "",
    "workerStart": 0,
    "redirectStart": 0,
    "redirectEnd": 0,
    "fetchStart": 277.4149999895599,
    "domainLookupStart": 277.4149999895599,
    "domainLookupEnd": 277.4149999895599,
    "connectStart": 277.4149999895599,
    "connectEnd": 277.4149999895599,
    "secureConnectionStart": 0,
    "requestStart": 277.4149999895599,
    "responseStart": 277.4149999895599,
    "responseEnd": 277.4149999895599,
    "transferSize": 0,
    "encodedBodySize": 0,
    "decodedBodySize": 0,
    "serverTiming": []
}
performance(){
username=$(adb shell ps | grep $1  | awk '{print $1}')
echo "for i in $(seq 1 60);do top -u $username -o %CPU,%MEM,RES,CMDLINE -b -d 1 -n 1 -q ;done" > /tmp/p.sh
adb push /tmp/p.sh /data/local/tmp/
adb shell sh  /data/local/tmp/p.sh
}
performance com.xueqiu.android
%CUP:cup使用率
%MEM:内存占用率
RES:申请使用的内存(进程占用的物理内存)
SHR:进程使用的共享内存

获取详细内存

adb shell dumpsys meminfo com.xueqiu.android | grep "Native Heap" | head -1
pss:按比例共享内存(实际内存 部分共享内存)
Private Dirty:仅分配给您的应用堆的实际RAM 用来判断内存泄漏,如果内存泄漏,这个值会变大
手机端的性能主要是:耗电量,内存泄漏,cpu,卡顿,崩溃

Applications Memory Usage (in Kilobytes):
Uptime: 59067939 Realtime: 59067939

** MEMINFO in pid 13059 [com.xueqiu.android] **
                   Pss  Private  Private  SwapPss     Heap     Heap     Heap
                 Total    Dirty    Clean    Dirty     Size    Alloc     Free
                ------   ------   ------   ------   ------   ------   ------
  Native Heap    83864    83636        0        0   114816   100386    14429
  Dalvik Heap    17536    17512        0        0    24391    18247     6144
 Dalvik Other     6872     6872        0        0
        Stack     1936     1936        0        0
       Ashmem     6409      128        0        0
    Other dev       17        0       16        0
     .so mmap     3697      256      772        0
    .apk mmap    17175      100     7372        0
    .ttf mmap      117        0        0        0
    .dex mmap    38235        8    34160        0
    .oat mmap     4485        0     1048        0
    .art mmap     2470     2144       12        0
   Other mmap     7267        4     4608        0
      Unknown     1600     1600        0        0
        TOTAL   191680   114196    47988        0   139207   118633    20573

 App Summary
                       Pss(KB)
                        ------
           Java Heap:    19668
         Native Heap:    83636
                Code:    43716
               Stack:     1936
            Graphics:        0
       Private Other:    13228
              System:    29496

               TOTAL:   191680       TOTAL SWAP PSS:        0

 Objects
               Views:     4988         ViewRootImpl:        1
         AppContexts:        6           Activities:        3
              Assets:        6        AssetManagers:        5
       Local Binders:       51        Proxy Binders:       34
       Parcel memory:       20         Parcel count:       82
    Death Recipients:        2      OpenSSL Sockets:        4
            WebViews:        4

 SQL
         MEMORY_USED:      615
  PAGECACHE_OVERFLOW:      120          MALLOC_SIZE:      117

 DATABASES
      pgsz     dbsz   Lookaside(b)          cache  Dbname
         4       32             43       1/1680/2  /data/user/0/com.xueqiu.android/databases/-1.db
         4       52            109    3456/1891/9  /data/user/0/com.xueqiu.android/databases/sn_green_dao_db_v1_7966815868
         4       52            109    108/1693/17  /data/user/0/com.xueqiu.android/databases/bugly_db_

 Asset Allocations
    zip:/data/app/com.xueqiu.android-65ziHf1fRax35Q5gRDHdUA==/base.apk:/assets/fonts/DIN-Bold.otf: 28K
    zip:/data/app/com.xueqiu.android-65ziHf1fRax35Q5gRDHdUA==/base.apk:/assets/fonts/DIN-Medium.otf: 27K
    zip:/data/app/com.xueqiu.android-65ziHf1fRax35Q5gRDHdUA==/base.apk:/assets/fonts/DIN-Regular.otf: 27K

更多性能指标获取方法

adb shell dumpsys procstats --hours 3  进程统计
adb shell dumpsys meminfo package_name|pid [-d]  内存信息
adb shell dumpsys batterystats --charged package-name 电池状态
adb shell dumpsys netstats detail  网络统计
adb shell dumpsys gfxinfo package-name  有关与录制阶段期间发生的动画帧相关的性能信息