Spa*_*yro 5 opengl-es mkmapview ios ios6
在线进行一些调查,我注意到gpus_ReturnNotPermittedKillClient
当应用程序背景化时触发OpenGL操作时会抛出.我目前正在开发一个涉及地图视图和叠加层的项目(使用Apple的Breadcrumb示例代码).这些操作是在主线程上执行的,但是当地图视图初始化或视图被推到屏幕上时,应用程序可能会变为背景.
我还使用位置服务通过GPS检索点,但除非我们在前台,否则我不会更新叠加层.
据我所知,自iOS 6以来,MKMapView现在是用OpenGL创建的吗?如果是这种情况,那么可以通过OpenGL绘制叠加层吗?这可以帮助解释为什么我一直在随机获得此错误.
我听说过的一些方法来取消所有的OpenGL操作,如调用glFinish()
中applicationDidEnterBackground
和applicationWillResignActive
或使用[[CCDirector sharedDirector] pause]
.考虑到这一点,使用MKMapView/MKOverlayView消除任何OpenGL绘图的最佳解决方案是什么?
Spa*_*yro 13
在尝试了多个解决方案之后,我意识到造成这次崩溃的原因是调整了地图视图的框架,该框架在分配地图后几秒钟被触发.状态栏下拉,地图的框架向下动画几个像素.因此,必须重新绘制地图(据说),如果此动画在后台发生,则会导致崩溃.
我现在跟踪状态栏的状态与应用程序的活动状态有关,并且仅在应用程序状态为动画时进行动画处理UIApplicationStateActive
.做完这个之后,我从未发生过崩溃.
归档时间: |
|
查看次数: |
6385 次 |
最近记录: |