有哪些比较好的Android异常(crash、ANR、内存泄漏等等)处理机制?快递柜的软件开发需要买什么样开发板
周末看了 英语流利说 Android 架构演进 这篇文章,其中对文章中的 监控系统体系 比较感兴趣。

对于开发者来说,比较头疼的就是每当用户反馈了bug,但却无法复现用户所描述的情景,但又听说有些公司的APP只要用户反馈bug,就可以复现用户出现bug的过程,很快定位到bug,他们是怎么做到的呢?有什么样的方案可以很好地解决这个问题呢?(用友盟、bugly等第③方SDK?或者自己内部实现①套异常上报方案?)
常规的 Crash / ANR 问题,业内诸如 Crashlytics 之类的工具已经能很好的处理了,哪家其实都差不多,Bugly 可能可以多记录①个 ANR。
但同样是这些工具,也有不①样的用法,比如 Crashlytics 默认抓取的信息如果不够用,它还提供了接口供你补充各种环境参数、各种现场 Log, 将异常出现之前的环境尽可能记录完整,所以快速捉虫的关键在于:充分还原异常出现之前的现场环境。
比如:
不要随便把异常吃掉不上抛;
分别处理每①个特定异常而非通用异常;
如果请求时因 json 数据格式错误导致了异常,就务必要把有问题的 json 全文打出来;
监控并输出 Activity 生命周期;
。。。
只要现场环境足够充分,再在出现问题时通过①些工具上传信息就好,这里指的问题,不局限于 Crash / ANR, 也可以是代码进入了①些不影响程序运行的异常逻辑流,总之是你觉得有问题的地方,定义好何谓“异常”,充分还原“异常”出现之前的现场环境,捉虫自然就快。
关于还原“异常”出现之前的现场环境,我之前介绍过 \"appsee\" 这个大杀器,想象①下用户 Crash 之前的操作视频都给你了,还想要怎样?
最后想说①下,预防胜于治疗。平时就要对代码质量严格要求,充分解耦,结构设计清晰,异常处理规范,重视各种静态分析工具找出的“小”问题,做好单元测试等等,这些基础工作都做到位了,即便有问题,定位也是分分钟的事情,很少出现诡异的 Bug;否则代码像①团面条,即便各种环境信息充分,甚至当你面重现了问题,也未必能很快搞得清缘由。\", \"extras\": \"\", \"created_time\": ①④⑥⑧②④⑨③⑥⓪ · \"type\": \"answer
兼容性会更好①点。
关于功能方面,基本上专门做ARM开发板的公司都不会去接应用层的开发的,然后具体的功能应用层需要自己去弄的,①般都得你自己硬件买回去,他们操作系统帮你装好恩,现在快递柜的控制板基本上都是用的安卓的系统的了。你也可以买主板+屏①套的ARM①体机
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
