适用于iOS的Google Maps SDK不断增加内存使用量

前端之家收集整理的这篇文章主要介绍了适用于iOS的Google Maps SDK不断增加内存使用量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经构建了一个在地图上显示标记的简单应用程序,我从服务器的 JSON文件加载其x,y,标记是可点击的,所以一旦你在任何标记上它将你带到另一个UIViewController(我们将它命名为BViewController) .我已经监视了内存使用情况,所以每次我从BViewController返回到MapViewController(里面的地图)时,它只是内存使用量的两倍我尝试将其设置为nill或从superView中删除它,但没有改变

我的项目使用ARC.

所以请知道如何减少这种用法.
提前致谢

解决方法

我不能在没有看到更多代码的情况下立即告诉导致这种情况的原因,但是对于像GMSMapView这样的“昂贵”对象,我可能会创建一个类别来创建共享GMSMapView并以编程方式添加它,如果您还没有这样做的话.您的类别可能如下所示:
// GMSMapView+MyAdditions.h
#import <GoogleMaps/GoogleMaps.h>
@interface GMSMapView (MyAdditions)
  + (GMSMapView *)sharedMapView;
@end


// GMSMapView+MyAdditions.m
#import "GMSMapView+MyAdditions.h"
@implementation GMSMapView (MyAdditions)

+ (GMSMapView *)sharedMapView {
  static GMSMapView *mapView;
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken,^{
    CLLocation *location = [[CLLocation alloc] initWithLatitude:40.7127 longitude:-74.0059];
    GMSCameraPosition *cameraPosition = [GMSCameraPosition cameraWithLatitude:location.coordinate.latitude
                                                                    longitude:location.coordinate.longitude
                                                                         zoom:16.0];
    mapView = [GMSMapView mapWithFrame:[UIScreen mainScreen].bounds camera:cameraPosition];
  });
  return mapView;
}

@end
原文链接:https://www.f2er.com/iOS/331539.html

猜你在找的iOS相关文章