【问题标题】:iPhone restarts after API callAPI 调用后 iPhone 重启
【发布时间】:2019-08-23 15:22:56
【问题描述】:

我面临一个非常奇怪的问题:我的 iPhone 正在重启。 此问题仅在特定情况下发生。

第 1 步:我有一个同步过程,我正在为整个应用加载数据。所以我基本上是通过上传 4-5 个摄像头捕获的图像并同步应用数据来进行繁重的 API 调用;

第 2 步:同步后,我按下 iPhone 的主页按钮使应用程序进入后台;

第 3 步:我正在锁定 iPhone 屏幕(通过使用侧边按钮);

几秒钟后,我看到了苹果徽标,并且手机似乎重新启动了。当应用程序以调试模式连接时,这不会复制。我检查了调试导航器应用程序仅使用 125 MB 的内存,磁盘和网络值为 0%。能量影响显示很高,我不确定这是由于高能量影响。我只在 iOS 12.4 上遇到这个问题。

【问题讨论】:

  • 你用什么iphone来测试?你试过评论图片上传/处理代码吗?
  • 我在i-phone 6上测试它,我只是测试了如果我没有上传图片并且只是进行正常的应用同步i-phone不会重启
  • 但是我无法理解为什么上传图片会影响iphone os,因为上传和同步的所有过程都是一个串行过程(同步api调用)
  • 只有在下载时进入后台模式才会出现这种情况吗?\
  • 应该是内存问题。它可能与图像有关。使用仪器进行分析

标签: ios iphone


【解决方案1】:

手机(或者可能只是跳板)重新启动,而不仅仅是您的应用程序,这意味着这是 Apple 的错误。即使您尝试,也不应该让 iOS 崩溃。

很难找到可能的原因,因为系统没有按照应有的方式运行。设备的日志可能包含来自您的应用程序以外的其他内容的更多信息。这可能是由于您的应用程序中的任意数量的操作而导致的系统 API 中断。

通常这种情况下一个操作系统版本会修复它,但如果不是这种情况或者追踪很重要,我会尝试删除您与系统交互的方式(后台 API、通知等)看看能不能解决问题。

如果您发现问题,您甚至可能根据文档以“正确”的方式做事,并且必须找到解决方法。如果你有时间,你可以submit a bug to Apple,这样根本问题就有更好的机会得到解决。

【讨论】:

  • 我能够调试内存泄漏的问题,就像我使用相机时出现的一样,我创建了一个带有相机打开代码的示例项目,它在那里显示内存泄漏。不同之处在于它没有重新启动示例中的手机。
  • 我上传了一些截图,请检查
  • 泄漏看起来很小......这甚至不会导致您的应用程序崩溃,更不用说整个操作系统了
【解决方案2】:

似乎当您的应用程序处于后台并且手机锁定时,自动引用计数 (ARC) 会关闭某些连接或取消分配使 iPhone 重新启动的资源。上传完成后,您是否关闭所有连接并删除所有引用?

【讨论】:

  • 问题在于 uipicker 摄像头代码,它显示内存泄漏
  • 我上传了一些截图,请检查
  • 不太确定这里发生了什么
【解决方案3】:

手机不会因为应用的操作而自发重启。您的手机有问题,而不是程序有问题。您需要维修或更换手机。

【讨论】:

  • 我能够调试内存泄漏的问题,就像我使用相机时出现的一样,我创建了一个带有相机打开代码的示例项目,它在那里显示内存泄漏。不同之处在于它没有重新启动示例中的手机。
  • 我上传了一些截图,请检查
猜你喜欢
  • 1970-01-01
  • 2014-09-14
  • 1970-01-01
  • 2011-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-14
  • 1970-01-01
相关资源
最近更新 更多