【问题标题】:Adding Custom Images to marker of Google Maps IOS SDK increases lot of memory将自定义图像添加到 Google Maps IOS SDK 的标记会增加大量内存
【发布时间】:2016-09-14 13:06:11
【问题描述】:

我正在开发一个要求用户在地图上显示的应用程序,例如,当用户注册到应用程序时,他/她上传其图片,当将图片与图片一起发送到服务器时,我将图片缩放到 0.1,以便其尺寸可以减小。 问题是我必须显示用户图像

将用户图像粘贴到此标记的代码我使用了代码`

-(UIImage*) drawImage: (UIImage*) fgImage
          inImage:(UIImage*) bgImage
          atPoint:(CGPoint)  point
{  
        UIGraphicsBeginImageContextWithOptions(bgImage.size, FALSE, 0.0);
        [bgImage drawInRect:CGRectMake( 0, 0, bgImage.size.width, bgImage.size.height)];
        [fgImage drawInRect:CGRectMake( point.x, point.y, fgImage.size.width, fgImage.size.height)];
        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();   
        return newImage;
}

fgImage 是用户图片,bgImage 是基础图像。 这个功能返回给我完整的图像,上面粘贴了绿色标记和圆形用户图像。之后,我将此图像传递给地图标记

 marker.icon =  [self drawImage:[self makeRoundedImage:img radius:25] inImage:markerImage atPoint:CGPointMake((markerImage.size.width/2)-25, (markerImage.size.width/2)-25)];

我面临的问题是我创建了 70 个测试用户,应用内存增长到 100 MB,上面有很多自定义标记。 请建议我处理这种情况的最佳解决方案。 谢谢。

【问题讨论】:

  • 嘿哈桑,你能解释一下你是怎么得到那个圆形图像的标记的吗?

标签: ios google-maps google-maps-markers gmsmapview


【解决方案1】:

如果多个标记使用同一张图片,请确保它们引用的是同一个对象,而不是同一内容的多个实例。你也可以查看这个issue的解决方案。

也可以查看SO question 了解更多信息。

【讨论】:

    猜你喜欢
    • 2017-03-05
    • 1970-01-01
    • 2013-10-27
    • 2013-09-27
    • 2021-10-22
    • 2013-05-31
    • 2019-11-14
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多