App开发软技能之Bug收集

曾经在面试的时候,面试官问了一句:如果App发布以后,用户在使用的过程中出现崩溃、卡顿或者错误,你是怎么处理的?

当时我就按常规思路回答了这个问题,无非就是在App中提供意见反馈、留下联系方式之类的废话,显然没有回答到问题的点子上,自己也意识到回答得有点勉强。试想有多少用户愿意在App出现故障后专门给你发送信息反馈,然后还要别人留下联系方式让你骚扰他?

出现这样的情况,当然要去反思一下,当时我就去翻看了时下流行的App,其中微信的处理方式是列出常见的问题,分功能模块的去细分可能出现的问题,只需要用户点击选择就可以进行反馈,这样至少不会太让用户产生太大的反感情绪。另外我猜想微信这样处理的背后还有自己的Bug详细信息收集系统,将产生的Bug文件保存在本地,在必要的时候再上传到Bug收集系统的服务器上去。

但一般的小公司哪有这个精力和成本去设计这样的Bug体系呢?没关系,其他公司已经考虑到了这样的问题,友盟、Bugly等服务平台已经基本上可以满足Bug收集的要求了,我们在开发的时候接入他们提供的SDK即可,在App出现异常错误的时候,App就会将产生的异常错误实时上传到已注册的平台上去,简单方便。

以Bugly为例,我们可以看到App上传的Bug信息,一目了然,所产生的信息和我们在代码调试时产生的异常提示相似,虽然这样不能及时地让我们精确判断问题的位置所在,待至少给我们提供了一个解决问题的思路,我想这已经足够了。

异常信息示例

如果我们在自己内部测试的时候,每次都去服务平台上查看Bug信息,太费事。那么Apple给我们提供了一种方式:

NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);

其中,UncaughtExceptionHandler是一个函数指针类型,所指向的函数需要我们实现,可以取自己想要的名字。当程序发生异常崩溃时,该函数会得到调用,这跟C,C++中的回调函数的概念是一样的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,155评论 25 709
  • 一.概述   本文主要介绍Android平台下bug类型和产生原因、崩溃捕获和收集解决方案、以及bugly的使用方...
    Haraway阅读 9,584评论 3 14
  • 暮笔生枝花一览春夏秋冬惋思同卧笔情钟孑然余峰 何时忆娇容虚怀念前尘莫使追茫茫君俏不相识何处去君生我生不相逢
    狼眼阅读 149评论 2 2
  • 在这部马戏团表演的现场记录中,有规模盛大的群舞、不同风格的异域风情,稀奇古怪的小丑表演,让人惊叹的各种杂技,以及那...
    丸兔阅读 705评论 0 0
  • 每个IT企业,尤其是初创企业,非常苦恼:优秀的程序员很难找。大学、各式各样的IT培训机构,每年春暖花开之后,又多了...
    小立狐狸阅读 307评论 0 0