第900章 2019-06-05 自由人生


        ChangedObjectsCount:类对象实例变化数(增加数+减少数) NewCount:类对象新增数量 GCCount:类对象释放数量 New-GC=常驻,常驻理想状态下不应存在,如果必须存在请控制在合理范围内(1-20) TIPS:内存泄露查找诀窍:闭环一次和多次对比操作,看对象变化 原则上,反复操作,内存应该起伏稳定在一个区间内,如果出现曲线持续上升,就肯定存在内存泄露(但要尽量排除外来干扰,比如手Q被动接收各种消息) 2)方法二、详细分析。取dump(a)、dump(c)、dump(d),在dump(d)上finder-TwoExecutionThreeDump,在-2S中指定dump(c),-1S中指点dump(a) FirstInc、SecondInc分别为第一次使用和第二次使用之后的内存增量,两次都有大量增量的对象,着重分析对象作用和引用者,确定增量是否合理,此处需要代码能力和对源码的熟悉程度较强。 6.3电量测试 合流标准(建议安装release包): 6.3.1挂机5分钟CPU0% 0)该项检测目的:切后台、灭屏,9成9的用户应该都是希望该程序就不要再耗我的电了,CPU持续占用的apk必然会上耗电榜。 apt选中apk进程,指定监控CPU,挂机5分钟后观察CPU曲线 有时并不能完美的达到0%占用,比如手QMSF就一直都在工作,来消息CPU就波动下,因此请酌情分析。 6.3.3合理使用wakelock 0)该项检测目的:wakelock会锁定屏幕,防止手机自动休眠,亮屏是非常耗电的。 1)项目接入xcode可静态扫描wakelock的不合理使用 2)未接入xcode可如下分析:adbshellcatprocwakelocks 原则上长时间停留在当前场景,不存在长时间未释放的wakelock 6.3.4避免无端电量消耗 0)该项检测目的:新开界面耗电时长控制(音视频除外)经过时间1分钟,CPU50%单核主频1G),即使长时间使用功能也要保证更长的续航时间。 1)apt选中apk进程,指定监控CPU,进入场景界面1分钟后观察CPU占用 6.4流量测试 合流标准: 6.4.1流量上报 0)该项检测目的:新增业务要上报流量,通过大量用户数据分析新增业务带来的平均新增流量,及时发现流量风险并后续优化 1)与产品开发确认上报,一般开发自测 6.4.2非WIFI不能静默拉取资源(200KB) 0)该项检测目的:移动网络静默拉取资源200KB要么让用户知晓并同意,要么不拉取,静默拉取比如用户主动访问网页,该网页后台静默下载首屏之外的数据。 1)PC端安装ATS,监控指定apk进程,程序稳定后,入口处流量记录清零,进入场景页面,数据加载稳定后,查看ATS实时流量,首屏200KB,就不用分析该项,如果超过,那么首先就不符合关键路径单次操作不能200KB的规范,详细分析需要一键抓包工具(见附件)+wireshark深入分析,如下介绍 Wireshark点击pcap包可查看终端所有的请求,包含协议,理论上完整的流量就是pcap包的大小 2)Wireshark——待补充 6.4.3大于100KB的资源增量拉取 0)该项检测目的:超过100KB的资源增量拉取,避免网络不稳定时导致资源总是拉取不下来,不断重试浪费流量。 1)fiddler热点抓包,分析100KB的资源是否增量拉取,如HTTP协议包响应码为206 6.4.4资源无重复拉取 0)该项检测目的:需要反复调用的资源,设置缓存,避免重复调用带来流量浪费 1)方法一、Fiddler热点抓包,分析一次访问是否重复拉取了相同资源 2)方法二、一键抓包工具+wireshark,使用wireshark打开pcap,在菜单栏点击File依次选择ExportObjects-HTTP,弹框中选择SaveAll按钮,保存所有http请求对象到目录,查看是否有重复文件,同时也能查看是否存在过大图片资源问题。 方法二还可以这样分析,用wireshark直接查看httpgetpost包来查看,现在Filter里出入http后按回车过滤出所有http包,然后点击Info栏按请求信息排序,然后查看是否有相同的请求URL 6.4.5新增特性关键路径流量200K 0)该项检测目的:限制单次操作流量,减少用户使用业务的流量成本 Android: 1)PC端安装ATS,监控指定apk进程,程序稳定后,入口处流量记录清零,操作特性一个场景的关键路径,数据加载稳定后,查看ATS实时流量,应该200K,超过需要分析是否有不必要流量可节省 2)详细分析需要一键抓包工具+wireshark深入分析。 6.4.6被动接收富媒体消耗60K 0)该项检测目的:富媒体是在基础功能上增强体验的附加品,但非用户主动拉取的富媒体要控制流量消耗。富媒体例如:视频、音频、动画资源、别人的表情气泡等 Android: 1)一键抓包工具+wireshark分析,分析方式同上面的4、2) 6.4.7web页面–控制离线包200K 目前离线包已经存在超过200K的情况,因此需要分析离线包内容的合理性,无法压缩到200K内,下载时需要分包下载,保证下载成功率。 Android+IOS测试方法:fiddler热点查看离线包zip包大小和是否拆包下载 6.4.8web页面–无缓存首屏流量200K(不包含离线包) 1)使用ATS,监控指定apk进程,程序稳定后,入口处流量记录清零,操作特性一个场景的关键路径,数据加载稳定后,查看ATS上传下载实时流量总和,应该200K 6.5流畅度测试 合流标准(建议安装release包): 前言:流畅度低于合流标准值时,操作apk功能会明显感觉画面卡顿,不流畅。原则上一个apk任何操作都应该保证实时FPS达标,但一般activity等切换时间很短,瞬间fps值很难采集判断,这种场景用户更直观的感觉是打开快慢(响应速度关注),因此目前采集FPS都仅关注列表类滑动操作的流畅度。 场景准备:列表页面,数据加载稳定,并多翻页加载几页 6.5.1avgFPS=30,minFPS=24 1)纵向列表:手机接电脑,PC运行perfbox2.7工具箱中的runScrolltest.bat,可自动上下滑动列表并采集数     喜欢阅文测试1000章节请大家收藏:(www.663d.com)阅文测试1000章节六六闪读更新速度最快。