我希望有人能帮我找到这个问题的答案。几周前我向苹果提交了一份错误报告(28684035),但他们还没有回复我的报告。苹果论坛也没有帮助。我的游戏正在开发中,它有时会在预加载时崩溃,而我所做的只是调用方法 SKTextureAtlas preloadWithCompletionHandler。
请参阅下面的详细信息。如果您对问题有任何疑问,请随时发布。
总结:我创建了一个测试项目,简单的在touchUpAtPoint中添加了如下代码:
SKTextureAtlas* atlas = [SKTextureAtlas atlasNamed:@"GlobalMap"];
[atlas preloadWithCompletionHandler:^{
}];
我查看了仪器,每当调用此方法时,它都会显示内存泄漏。它最终崩溃。我发现这个漏洞是因为在我正在进行的游戏项目中,我在游戏开始时预加载了我的几个地图集。当我将代码更新到 XCODE 8.0 并将我的 iPhone 更新到 IOS 10.0 时,它开始崩溃
重现步骤:
- 创建一个测试项目
- 在项目中添加地图集
- 添加 preloadWithCompletionHandler 代码。
- 运行应用程序并监控 Instruments 中的内存分配和泄漏
- 触摸屏幕几次(甚至一次 - 你会看到一些泄漏)
版本:iOS 10.0.2 配置:iPhone 6