16

我们刚刚发布了一个使用 Crittercism 框架的应用程序。一段时间后,我们有大约 125K 的应用程序加载和 95 次崩溃 - 比率不到 0.08%。

一次崩溃发生了 19 次,另外 10 次,但其他 41 次都发生了 3 次或更少。如果该应用程序有任何重大问题,我预计会在特定领域看到更多的失败,所以我对我看到的数据水平感到满意。

快速浏览显示其中许多是低级故障,不是明显引起的,而是程序员错误。

例子

  • 最大的一组都与后台线程上的 CFNetworking 相关,而静态 HTML 正在主线程上的 Web 视图中呈现。
  • 有一些 KVO 失败free_list_checksum_botch

我的问题是,在一个足够复杂的操作系统(在这种情况下是 iOS)和一个足够复杂的应用程序(我认为是这样)中,作为开发人员,我是否应该期望看到这种级别的“背景噪音”?

我是否应该仅仅因为操作系统不完美而期望每加载 1-2000 次就会出现一个应用程序崩溃?有没有其他人有过类似的经历?

(我不是在寻找错误本身的解决方案......谢谢!)

4

5 回答 5

6

Crittercism 对应用程序崩溃进行了分析。他们的报告基于 Android 与 iOS 的崩溃。

他们得出的结论是,iOS 上最受欢迎的应用程序会在 0.51% 的应用程序启动时崩溃。所以@Ashley Mills,如果你得到 0.08%……你做得很好。(无论如何,我认为我的数字是正确的)。

不知道原始报告在哪里,但我在这里读到了:

福布斯应用程序崩溃率,由 Crittercism 进行

于 2012-05-30T18:47:43.843 回答
6

实际上,在黑暗中的另一个非技术答案可能是。当您可能花费更多时间和精力在您的工具中开发更多功能或完全使用另一个工具时,它会给您(开发人员)带来什么附加价值。

如果您的应用程序只是为了娱乐和学习,那么我可以将深入研究这个问题视为一次有趣的冒险。从业务角度来看,您的时间价值是多少,并且正在弄清楚这个 0.08% 的问题将销售足够(更多)的副本以使您的努力值得。

类似的情况是,什么要求是必要的,什么要求是欲望?只是思考的食物。我知道我工作过的许多公司都没有看到强调低收益错误的价值。

于 2012-05-31T06:01:44.087 回答
4

我是一名 iOS 开发人员,受雇于专业人士。当我的应用程序崩溃时,我个人认为这不是我想要的用户体验。崩溃是一种糟糕的用户体验。每个用户一次崩溃太多了。崩溃是一个错误。

话虽如此,我确实看到了似乎无法解决的崩溃日志,因为它们似乎表明 SDK 深处存在问题。然而,我了解到的是,我自己的代码很可能是最终原因。

线程或块之间的时间问题或仅仅因为我做错了什么都可能导致许多奇怪的崩溃。就在最近,我发现我在更新一个复杂的表时做了一些完全错误的事情。除了我可能查看的一般代码区域外,此问题的崩溃日志几乎没有提供任何线索。当我深入研究代码并开始试验时,我意识到我的错误,这最终是一个时间问题,我认为这是主线程与非主线程活动的巧妙分离。在这种情况下,为了我自己的利益,我太聪明了。:-)

所以,总结一下:

  • 一次崩溃就是太多次崩溃,最终会导致糟糕的用户体验。
  • 通常,奇怪的低级崩溃是您自己代码的复杂性以及其中可能存在时间问题的结果。

最后,我提出这个问题要考虑:

  • 您是否愿意仅仅因为某些用户陷入崩溃的 0.08% 用户中而激怒或解雇他们?

深思熟虑。:-)

于 2012-03-27T15:25:12.430 回答
2

I'm a professional iPhone developer, and what I've seen is the crash frequency isn't what upsets users, it's the funnel for how the crashes happen.

If they are intermittent you are usually okay, the problem starts to occur when one user experiences a specific crash multiple times. This is unacceptable.

Striving to remove every crash is always a good thing, but in many cases it's simply not realistic, you have to decide where your time is best spent. If you have the opportunity to rework a portion of the UX flow or fix an intermittent crash, you need to decide which one benefits more users.

The important thing to remember is, if you choose not to fix a crash that happens 0.08% of the time, you aren't writing off the users experiencing it unless they are experiencing it multiple times.

于 2012-05-01T17:07:24.093 回答
0

虽然不是一个技术性的答案,但我个人希望在我的 iPhone 上有一个我经常使用的应用程序在一年内至少崩溃一次或两次。我会说这个级别是完全可以接受的,因为通常我发现他们在你第一次启动它时崩溃得更多,我相信这是可以预料的。

于 2012-03-27T15:12:00.357 回答