Objective-C - 性能

Posted

技术标签:

【中文标题】Objective-C - 性能【英文标题】:Objective-C - Performance 【发布时间】:2014-10-07 20:38:44 【问题描述】:

使用 GPS (CoreLocation) 对性能有何影响?

对于我面临的以下问题,我有这个问题:

我正在使用谷歌地图 API 开发一个应用程序,它显示设备的当前位置和旁边的其他标记。在标记触摸事件中,它将被转发到另一个屏幕。到目前为止一切正常。

问题: 在打开另一个屏幕的所有事件中(仅从带有地图的这个屏幕),进入下一个屏幕会有很长的延迟(最多 1 分钟)。我试过停止更新位置,但没有成功。

我已在this link 中发布了有关此代码问题的问题

我使用的是 iPhone 4S; ios 7.1.2; 谷歌地图 (1.8.1); Xcode 5;

我已经尝试过使用 MKMapView。但是问题依然存在。

在 iPhone 5(模拟器)和 iPad(真实设备)等设备中不存在这种延迟。

【问题讨论】:

【参考方案1】:

好的,我在测试 googleMaps API 时遇到了同样的问题。 我看起来像苹果使用其他三角测量方法然后谷歌,所以我们有很多 额外的操作来计算你的位置。 经过同一天的工作,我已经切换到 MKMapView。 搜索信息会在 Object 类型下找到 MKPlacemark

【讨论】:

尝试使用 Wlan 还是不使用 Wlan? 我试过有无(iPhone 4S 和 5)。仅在 iPad 上使用。【参考方案2】:

经过大量研究和实施,找到了原因。

解决方案:

当我们将 Google 地图框架添加到我们的项目时,它会在 框架搜索路径 上的构建设置 中自动创建对框架的引用。 当我们排除框架时,他不会自动删除此引用。

原来我遇到了 references 使用的框架的旧版本。我删除了这个参考,它运行良好。

this link上的解决方案

【讨论】:

以上是关于Objective-C - 性能的主要内容,如果未能解决你的问题,请参考以下文章

使用 XCTestCase Objective-C 进行多次测试性能

我的程序大部分时间都花在 objc_msgSend 上。这是不是意味着 Objective-C 的性能很差?

采用现代Objective-C

Objective-C中GCD

博看|现代Objective-C语法

Objective-c NSArray init 与 initWithCapacity:0