我们的应用程序在应用程序商店中存在.我希望识别一些用户正在获得的内存不足崩溃.我知道没有办法100%认识到内存崩溃.有没有办法通过在applicationDidReceiveMemoryWarning中做一些逻辑来识别这些崩溃(具有很大的可能性)?(我不是在谈论在开发期间在xcode中找到它,我在谈论的代码将识别实际用户的内存崩溃并将某些内容记录到文件中)
当我在寻找任何可以为我提供 OOM 跟踪的服务或库时,我只能从 Facebook 工程中找到这篇文章:
https://code.facebook.com/posts/1146930688654547/reducing-fooms-in-the-facebook-ios-app/
这个想法是推断应用程序需要启动的原因,检查不同的方面(例如应用程序是否在后台,是否有应用程序/操作系统更新,...)。
抛开所有其他可能导致前一个应用退出的可能原因,你就可以知道原因是后台内存不足还是前台内存不足。
有一个实现 Facebook 文章过程的库会很好。但是现在我找不到任何东西,可能有某种原因使这变得困难或不可能将其添加为 sdk。
如果有人知道任何服务,请与大家分享评论或新答案。
编辑:
我发现了这个 github ( https://github.com/jflinter/JRFMemoryNoodler ) 与 Facebook 发布程序的实现。我还没有尝试过,但我们会将它部署到我们的应用程序中进行尝试。
occ*_*lus -1
请留意applicationWillTerminate
应用程序委托中的消息。如果您的应用程序被系统终止(例如由于内存不足),则会调用此函数,但如果用户通过按主页键以通常的方式离开应用程序,则不会调用此函数。注意:如果您的应用程序在后台运行并且内存耗尽,您的应用程序将被终止,而不会向其发送任何消息。
YMMV,尤其是旧版本的 iOS,值得研究以确保上述内容准确。
这篇博文中的图片信息量很大(尽管有点过时)。
有关详细信息,请参阅如何知道应用程序是否被用户或 iOS 终止(10 分钟后台后)