ABPeoplePickerNavigationController 慢吗?
Is ABPeoplePickerNavigationController slow?
当使用 ABPeoplePickerNavigationController
时,加载和显示控件需要一些时间(~0.5 秒),这比其他弹出窗口的正常反应时间要慢。
我提出了解决方案,将控制器设置为变量并通过以下方式访问此预加载对象:
[self presentViewController:self.peoplePicker animated:YES completion:nil];
出于好奇,是否有另一种无需预加载即可启动选取器的方法?
同样如此,我没有解决问题的答案,我认为这可能是一个 iOS 8 错误(更新:是的, Apple 证实了这一点)。
在我对 iOS 7.x 的测试中,ABPeoplePicker 显示时间少于 0.2 秒。
问题仅在 iOS 8.x 上出现,并且仅在您第一次显示 ABPeoplePicker 时出现。 ABPeoplePicker 演示文稿在我的应用程序中大约需要 3 秒,在示例应用程序中大约需要 1.5 秒,该示例应用程序仅通过按下按钮进行 ABPeoplePicker 演示文稿.我在模拟器和设备上用 ~20 个触点测试了它。
预加载实例并没有像我预期的那样显着改变演示时间。
我还尝试在主线程上强制演示并将动画设置为 NO,但它在 iOS 8.
上仍然很慢
时间分析器对我没有帮助,因为我看不到意外的长时间计算。
当我们等待假定的错误修复时,我认为最好的解决方法是在加载 ABPeoplePicker 时显示 activity 进度指示器或实现我们自己的 ABPeoplePicker.
我已经实现了自己的,你可以在GitHub:VeeContactPicker上找到它,当然可以使用它!
来自苹果的新闻:
Apple 团队回复了我的错误报告:
Apple 开发者关系 2015 年 6 月 16 日 00:36 上午
我们认为这个问题已在最新的 iOS 9 beta 中得到解决。
这是预发布 iOS 9 更新。
请参阅发行说明以获取完整的安装说明。
请使用此版本进行测试。如果您仍有问题,请提供任何相关日志或信息以帮助我们进行调查。*
iOS 9 次更新
在 iOS 9 中,ABFramework 已被弃用,因为新的面向对象的联系人框架带有新的选择器 [请参阅 CNContactPicker]!不幸的是,问题似乎还没有解决,逻辑已经更新,但 ViewController 仍然与 iOS 8 相同。所以 CNContactPicker
仍然很慢加载并显示控件...
我已将错误报告给 Apple,等待消息...
当使用 ABPeoplePickerNavigationController
时,加载和显示控件需要一些时间(~0.5 秒),这比其他弹出窗口的正常反应时间要慢。
我提出了解决方案,将控制器设置为变量并通过以下方式访问此预加载对象:
[self presentViewController:self.peoplePicker animated:YES completion:nil];
出于好奇,是否有另一种无需预加载即可启动选取器的方法?
同样如此,我没有解决问题的答案,我认为这可能是一个 iOS 8 错误(更新:是的, Apple 证实了这一点)。
在我对 iOS 7.x 的测试中,ABPeoplePicker 显示时间少于 0.2 秒。
问题仅在 iOS 8.x 上出现,并且仅在您第一次显示 ABPeoplePicker 时出现。 ABPeoplePicker 演示文稿在我的应用程序中大约需要 3 秒,在示例应用程序中大约需要 1.5 秒,该示例应用程序仅通过按下按钮进行 ABPeoplePicker 演示文稿.我在模拟器和设备上用 ~20 个触点测试了它。
预加载实例并没有像我预期的那样显着改变演示时间。 我还尝试在主线程上强制演示并将动画设置为 NO,但它在 iOS 8.
上仍然很慢时间分析器对我没有帮助,因为我看不到意外的长时间计算。
当我们等待假定的错误修复时,我认为最好的解决方法是在加载 ABPeoplePicker 时显示 activity 进度指示器或实现我们自己的 ABPeoplePicker.
我已经实现了自己的,你可以在GitHub:VeeContactPicker上找到它,当然可以使用它!
来自苹果的新闻:
Apple 团队回复了我的错误报告:
Apple 开发者关系 2015 年 6 月 16 日 00:36 上午
我们认为这个问题已在最新的 iOS 9 beta 中得到解决。 这是预发布 iOS 9 更新。 请参阅发行说明以获取完整的安装说明。 请使用此版本进行测试。如果您仍有问题,请提供任何相关日志或信息以帮助我们进行调查。*
iOS 9 次更新
在 iOS 9 中,ABFramework 已被弃用,因为新的面向对象的联系人框架带有新的选择器 [请参阅 CNContactPicker]!不幸的是,问题似乎还没有解决,逻辑已经更新,但 ViewController 仍然与 iOS 8 相同。所以 CNContactPicker
仍然很慢加载并显示控件...
我已将错误报告给 Apple,等待消息...