一、 背景
- 1、 bugly针对crash监控做的比较好,但是对anr监控,早期版本监听 /data/anr 目录的变化可以拿到数据,但是现在高版本已经没有权限监听此目录,当前数据非常少,结合历次数据来看对我们解决ANR问题没有任何帮助。
- 2、 当前ANR数据主要来自手机厂商系统监控得到的的Anr Top数据excel,因为他们是在系统层面做了监控,数据准确性相对第三方比较高,但是依赖于手机厂商测试人员提供给我们数据,不是万全之策,因为随时有断供的风险。
二、 目标
要求ANR率在万5之下,我们目前已经到了万10,明确超标了。
三、技术选型
3.1 OPPO系统ANR监控
由于OPPO系统监控ANR数据有比较高的准确性,目前可以想到的技术方案是由OPPO监控平台APM开放ANR数据查询接口数据给阅文,由阅文后台去查询获取。做一个ANR实时数据呈现,通过这个ANR数据帮助我们去监控和解决ANR问题。
目前已知这个方案行不通。OPPO侧有数据安全要求,禁止外部实时查询此数据。
只能是一个版本查一次,或者一周查一次。可以建立一个机制,要求OPPO一周提供一次TOP100的ANR数据excel,协助我们解决ANR问题。
3.2 谷歌官方严苛模式StrictMode预防ANR
严苛模式StrictMode将报告与线程及虚拟机相关的策略违例。一旦检测到策略违例policy violation,你将获得警告,其包含了一个栈trace显示你的应用在何处发生违例。你可以强制用警告代替崩溃crash,也可以仅将警告计入日志让你的应用继续执行。StrictMode是一个十分有用的类,它可以很方便地应用于检查Android应用程序的性能和存在的问题。当开启这个模式后,开发者能很好地检查应用中存在的潜在问题。
现状:当前版本没有开启,此特性可利


1367

被折叠的 条评论
为什么被折叠?



