首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用HERE maps ios的内存压力

使用HERE maps ios的内存压力
EN

Stack Overflow用户
提问于 2017-11-01 03:33:38
回答 2查看 595关注 0票数 2

我正在我的一个应用程序中使用HERE地图。我必须在至少3-4个屏幕上显示地图。因此,将有3-4个地图实例加载到内存中。

我注意到的是,加载HERE地图的一个实例需要消耗高达50MB的内存。一旦我移动到另一个屏幕,两个map实例就会被加载。内存跳跃到100MB,以此类推。最后,在使用了一段时间后,应用程序因内存问题而崩溃。

“收到内存压力通知(严重) 2017”

我正在通过pods添加HERE地图的购买版本。这有什么不同吗?

还有一件事,我注意到,每次我改变这里的地图框架,即增加/减少其高度,它似乎重新加载地图,这再次消耗了相当大的内存。

有没有人用这里的地图ios版本面对这个问题??

EN

回答 2

Stack Overflow用户

发布于 2019-11-08 13:15:20

我找到了一个在iOS (HereMap)中释放内存压力的解决方案。

我在我的应用程序中使用3个地图(HereMap)屏幕,这个解决方案适用于我和释放大约100MB的内存。

您需要在viewDidAppear中初始化地图,并在viewDidDisappear中删除地图。

我在我的应用程序和初始化视图中使用了3地图

代码语言:javascript
复制
-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    dispatch_async(dispatch_get_main_queue(), ^{
        if (self->mapView == nil) {
            self->mapView = [[NMAMapView alloc] initWithFrame:self.view.frame];
            [self.view addSubview:self->mapView];
            [self.view sendSubviewToBack:self->mapView];
        }
        [self mapSetup];
    });
}


- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    [self removeMemoryForMapView];
}


-(void)removeMemoryForMapView {

    mapView.positionIndicator.visible = false;
    mapView.landmarksVisible = false;
    mapView.delegate = nil;
    mapView.gestureDelegate = nil;
    mapView.safetySpotsVisible = false;
    [mapView setVisibility:false forPoiCategory:NMAMapPoiCategoryAll];
    [mapView removeFromSuperview];
    mapView = nil;
}
票数 1
EN

Stack Overflow用户

发布于 2017-11-01 21:08:47

如果您使用的是MapKit或Google Maps SDK for iOS,则没有编写代码,但我假设您使用的是原生MapKit。我不认为是地图对你的应用大小有那么大的影响,因为地图缓存是共享的。MKMapView有自己的缓存,其中包含最近显示的地图,因此当设备离线时,您仍然可以显示上次查看的地图。您可以尝试使用以下解决方案清除缓存:How can I clear MKMapView's cache of map tiles?

我建议您创建共享MapViewController,您可以将其嵌入到您的应用程序中需要地图的所有其他控制器中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47043275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档