我想在其中使用一个UIViewController
水平UIScrollView
来显示两个页面。第一页是UITableView
,其中包含多个单元格。另一页包含MKMapView
。表和地图都从.xib
文件加载到控制器中。问题是当从一个页面滚动到另一个页面并返回几次时,应用程序开始滞后并最终崩溃。在控制台中,每次滚动到'地图页面时,我都会收到此消息4次:
ERROR /BuildRoot/Library/Caches/com.apple.xbs/Sources/VectorKit/VectorKit-
1230.34.9.30.27/GeoGL/GeoGL/GLCoreContext.cpp 1763: InfoLog
SolidRibbonShader:
ERROR /BuildRoot/Library/Caches/com.apple.xbs/Sources/VectorKit/VectorKit-
1230.34.9.30.27/GeoGL/GeoGL/GLCoreContext.cpp 1764: WARNING: Output of vertex
shader 'v_gradient' not read by fragment shader
应用程序崩溃之前的最后一条消息就是这个消息:
Message from debugger: Terminated due to memory issue
我还注意到每次滚动到地图页面时地图都会重新加载。
当我用一些静态内容替换地图时,应用程序运行得非常流畅。
我认为问题是每次滚动到地图页面时地图都会重新加载。
我只是将MKMapView
放在.xib文件的视图中,而不修改任何内容或给它一个类。
如果没有必要可以解决这个问题,可能每次都有一些东西阻止地图重新加载。