iOS需要帮助克服内存问题

时间:2013-11-03 06:10:10

标签: ios memory memory-management crash mkmapview

我最近遇到了一个问题,我的MapView似乎使用的内存比它应该多。我已经禁用了所有填充注释和下载数据等的方法,并将应用程序基本上留给了地图视图。地图视图在我通过地图使用的名为Map Manager的单个对象中初始化和分配,因为我在多个视图中使用地图。所有地图处理方法也都驻留在此对象中。在运行我的应用程序时,缩放,划桨,平移等非常不稳定和缓慢。我正在运行最新的iPad Mini。

在iOS7上运行应用程序时,在xCode内部,内存利用率报告的内存大约为180MB。如果我运行应用程序,然后同时打开Apple Maps并玩它,我已经导致我的应用程序因错误而崩溃:由于内存压力而终止。

以下是运行分配测试时的地图初始化程序和工具配置文件:

+ (id)sharedInstance
{
    static LBMapManager *mapManager = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{

        // Intialize the class
        mapManager = [[self alloc] init];

        // Intialize map
        mapManager.mapView = [[MKMapView alloc] init];
        mapManager.mapView.mapType = [[LBSettings getObjectForKey:kLBSettingsMapType] intValue];
        mapManager.mapView.showsBuildings = YES;
        mapManager.mapView.showsPointsOfInterest = YES;
        mapManager.mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    });
    return mapManager;
}

照片:

enter image description here

1 个答案:

答案 0 :(得分:2)

是否可能启用了NSZombies?

enter image description here

您应该在检查内存问题时随时禁用此选项,因为它会在内存中保留所有已创建的对象,从而导致内存问题。