Monkey测试命令笔记

一、Monkey命令格式:
    adb shell monkey (+命令参数) 次数
    
    adb shell monkey -help/-h
    
    例子:adb shell monkey -p 包名 --ignore-crashes --ignore-timeouts --throttle 400 -v -s 3500 100000 >D:\monkey_log.txt
    
    -v:指定日志等级
    -p:后接包名
    -s:用于指定伪随机数生成器的seed值,用于复现问题
    --throttle:用于指定用户操作(即事件)间的延时,单位是毫秒
    --ignore-crashes --ignore-timeouts:这里是在monkey测试的过程中遇到crash或者timeout的情况时忽略掉,一般不设置时,出现crash或者timeout时,monkey测试会终止,这里是防止monkey测试终止。
    次数 100000:这里指点击的次数,根据测试的经验,对于单个应用程序这个次数设置在10000次就可以了,如果是整机,一般设置在500000次

    

 

    系统apk存放路径:
        system/app
        system.priv-app      #权限更高
        data/app              #存放第三方apk
        data/data/            #apk应用数据存放目录,系统应用和第三方都是
        
二、手机卡顿分析

    1、帧率/刷新频率
        Refresh Rate:
            代表屏幕在一秒内刷新屏幕的次数,这取决于硬件的固定参数,如60HZ
            
        Frame Rate:
            代表GPU在一秒内绘制操作的帧数,例如30fps,60fps
            
        问题思考:
            24fps 与60 fps?
                同样是24fps,为什么在电影院看得流畅,Android/游戏里观看就会产生不流畅的感觉?为什么Android/游戏需要达到60fps 才感觉到流畅呢?
                
                因为电影有 “动态模糊”效果,手机没有


                
        root cause:
            大部分用户感知到的卡顿等型男问题的最主要根源都是因为渲染型男,Android系统无法及时完成那些复杂的界面渲染操作,就产生了卡顿/不流畅的现象。(归根结底就是GPU渲染问题),GPU 绘制一帧大概需要(1000ms/60HZ=16ms),如果在16ms内没有绘制出来,    就会出现卡顿。
            
    
    2、Android 用久了不如IOS 流程?
        1.先天不足,在linux上跑jvm虚拟机,然后再用java做开发,在后期的优化上的成本会增多,在java没有提供任何操作来释放内存,是通过系统的内存回收机制(GC)来进行管理的,但是GC 时所有线程要暂停,也就是所谓的卡顿。
        
        2.后天不足,APP开发混乱,APP在后台不断重生(部分国产APP厂商为了提升APP活跃度),还有一个是关联唤醒:当一款应用启动之后,它会在后台偷偷启动另外一款应用,基本上这些应用都存在着裙带关系,比如百度系,阿里系等
        
        3.第三方消息推送机制:APP集成第三方推送服务,如:个推,极光推送等,这些会在后台开启一个服务(server),保持一个跟服务器的长连接,对于Android系统,这些服务可以被杀死,所以第三方推送服务挖空心思,比如各种保活手段,各种全家桶互相唤醒机制等;而且,手机厂商也有自己家的推送服务,对于这些系统级别的,不会被杀死,所以有些APP如果想要推送效果好的话,往往是同时接入多家推送服务,针对不同的手机rom对接不同的服务;因此,因为各种推送服务的保活、全家桶的相互唤醒,导致用户手机的耗电量、性能受到影响,很多用户的Android手机越用越卡,混乱不堪的推送是罪魁祸首。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值