摘要: 耗电 耗电操作主要包含CPU、WIFI、流量、传感器(GPS NFC),以及应用屏幕wakelock等操作。我们更多的是关注应用本身是否劫持了系统的屏幕wakelock操作,没有及时释放屏幕wakelock,导致耗电。 电量测试监控方法可以简单的从设置->电池->使用情况中查看,手机中的每个部件运行 阅读全文
posted @ 2021-01-19 11:01 蒋励 阅读(625) 评论(0) 推荐(0) 编辑
摘要: 分析App耗电量主要通过Google提供的Battery Historian工具 https://github.com/google/battery-historian Appetizer提供了通过Docker方式一键安装启动Battery Historian,并且集成了从设备获取Battery H 阅读全文
posted @ 2021-01-19 10:58 蒋励 阅读(345) 评论(0) 推荐(0) 编辑
摘要: https://www.notion.so/APP-043bd9dfb2ed4d00abec1b643066ad25 App启动是产品第一印象,但是基本所有业务线都需要在启动过程中掺和,加上三方库粗暴初始化,APP体积不断爆肥,主界面不断复杂,给APP启动性能持续加压。优化APP启动往往吃力不讨好, 阅读全文
posted @ 2021-01-19 10:56 蒋励 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 套餐虽然优惠,流量还是很贵,对用户而言网络流量就是钱呐!用户习惯打开系统自带 APP 流量统计功能(如下),从 APP 的角度,总不希望用户一眼看出自家的 APP 是流量大户,所以有必要花时间知道 APP 的流量怎么流失的。但是系统的流量统计功能只是很粗略的对每个 APP 消耗的流量总量(分时)进行 阅读全文
posted @ 2021-01-19 10:53 蒋励 阅读(784) 评论(0) 推荐(0) 编辑
摘要: 前排:正文中获取APP端所有HTTP请求的方法请参考 APP精细化HTTP分析(一):别再只是代理抓个包了 上篇讲到接口错误代码,这次说到响应性能,首先需要仔细了解一下HTTP请求响应的过程。一次完整的请求响应过程有这么几个过程:[连接建立过程] -> 发送 Request Header -> [发 阅读全文
posted @ 2021-01-19 10:51 蒋励 阅读(329) 评论(0) 推荐(0) 编辑
摘要: https://testerhome.com/uploads/photo/2017/e0b78757-f0fb-4636-a26b-52f7c5cafb83.png!large HTTP/REST是目前最主流的前后端接口设计,在测试、线上环境里截获HTTP请求可以有效诊断接口请求错误、响应性能、网络 阅读全文
posted @ 2021-01-19 10:50 蒋励 阅读(316) 评论(0) 推荐(0) 编辑
摘要: https://www.notion.so/App-0d9ed025434348d68700a8c30ac704f4 现在App普遍可以运行在后台,在用户切换到的时候唤醒到前台,一方面可以避免不必要的冷启动时间,另一方面可以持续接收服务端的推送。前后台运行时间加起来可以长达几十小时,甚至几百小时,所 阅读全文
posted @ 2021-01-19 10:49 蒋励 阅读(991) 评论(0) 推荐(0) 编辑
摘要: | 导语 最近组里在做性能优化,既然要优化,就首先要有指标来描述性能水平,并且可以检测到这些指标,通过指标值的变化来看优化效果,于是笔者调研了iOS APP性能检测的一些方法,在此总结一下。 首先,要明确性能检测都需要关注哪些指标,笔者列举了以下几个主要的,后面会详细说: 启动时间 内存占用量,内存 阅读全文
posted @ 2021-01-19 10:47 蒋励 阅读(895) 评论(0) 推荐(0) 编辑
摘要: 启动时间 对于App的性能测试,启动时间是个重要指标,启动时间分为两种情况,一种是冷启动时间(通常是系统重启,即在启动前没有该App进程的情况),另一种是热启动,即App从被切换到前台(点back退出后再点击图标启动)。QA测试时,一般关注冷启动的启动时间。以下介绍三种测试启动时间的方法,供大家参考 阅读全文
posted @ 2021-01-19 10:46 蒋励 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 导语 本文介绍了如何优化 iOS App 的启动性能,分为四个部分: 第一部分科普了一些和App启动性能相关的前置知识 第二部分主要讲如何定制启动性能的优化目标 第三部分通过在WiFi管家这个具体项目的优化过程,分享一些有用的经验 第四部分是关键点的总结。 【第一部分】一些小科普 因为篇幅的限制,没 阅读全文
posted @ 2021-01-19 10:44 蒋励 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 卡顿产生的原因: 1、CPU 资源消耗原因;2、GPU 资源消耗原因。 CPU上文已经阐述,接下来说一下GPU。一般安卓流畅度测试,关注图片处理器每秒刷新的帧数(FPS),他用来指示页面是否平滑的渲染。高的帧率可以得到更流畅,更逼真的动画,不过帧率达到60fps以上,人眼主观感受到的差别就不大了。所 阅读全文
posted @ 2021-01-19 10:43 蒋励 阅读(1115) 评论(0) 推荐(0) 编辑
摘要: 在Android中,内存泄露的现象十分常见;而内存泄露导致的后果会使得应用Crash 1. 简介 即 ML (Memory Leak) 指 程序在申请内存后,当该内存不需再使用 但 却无法被释放 & 归还给 程序的现象 2. 对应用程序的影响 容易使得应用程序发生内存溢出,即 OOM 3. 发生内存 阅读全文
posted @ 2021-01-19 10:42 蒋励 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 最近微信安卓版的“两位数字+15个中文字符句号”BUG把ANR带回了大家的视野。 前情介绍-微信bug事件 在微信上给安卓手机用户发送: “11。。。。。。。。。。。。。。。” (两位数字+15个中文字符句号)接收到这样的信息以后,部分安卓手机在发送或收到这条消息时微信会无响应,如下图。 本文将从如 阅读全文
posted @ 2021-01-19 10:39 蒋励 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 在调试自己和别人的IOS App时,发生Crash是非常正常的情况,分析这些Crash的主要手段之一就是分析Crash发生时产生的错误日志。对于未越狱的IOS设备,获取错误日志主要通过Xcode自带的日志获取功能,但是这种方式有以下两点限制: 1.只能获取开发者自己开发的App的日志,无法获取第三方 阅读全文
posted @ 2021-01-19 10:36 蒋励 阅读(1929) 评论(0) 推荐(1) 编辑