我们遇到了一个非常奇怪的问题,想问问有没有人在实践中遇到过同样的问题。
在应用程序中,我们使用 AVFoundation
实现了最新的 Apples 自定义相机示例.正如我所说,我们已经彻底遵循他们的示例并按照推荐的顺序调用所有阶段,我们所做的唯一更改是将相机管理分离到一个单独的类中,但我们提供了足够的交互接口(interface)。ViewController
包含相机预览 View 的内容可能会导致其他两个不需要大量时间进行初始化的标准屏幕(至少它是不可见的)。通过 NavigationController
进行转换.
在我们的 Debug模式下和通过 Testflight
的测试中和 HockeyApp
(最后两个的 AdHoc 证书)应用程序运行完美,没有任何滞后。但是,当我们从具有相同代码的 App Store 运行版本时,我们注意到转换为 ViewController
用相机,从它卡住了 2-4 秒。我们已经检查了代码和 Internet 以查找可能的原因和类似问题,但没有发现任何问题。
那么,这里有没有人遇到过与相机相同的问题,或者发布的应用程序的行为有很大不同的情况,也许可以告诉我们应该朝哪个方向挖掘?
如果您需要任何其他信息,请告诉我们。
最佳答案
可能使您的测试和发布二进制文件的结果不同的一件事是编译器优化级别设置。 AVFoundation 喜欢调度队列,激进的优化可能会导致你在某处阻塞主队列。仪器可能会有所帮助。
编辑
可以使用 Time Profile 来分析发生了什么。您需要将其附加到流程中,选择正确的 .dSYM 并进行测量。一旦找到最长的通话,您就可以对其进行优化。
关于ios - App Store 上的应用程序相机运行速度比测试版本慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25360554/