我正在开发一个应用程序,要求用户在地图上显示,例如,当用户注册到应用程序时他/她上传其图片,当将图片与图片一起发送到服务器时我将图像缩放到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是用户pic图像,bgImage是基本图像。 这个功能返回完整的图像,绿色标记和粘贴在其上的圆形用户图像。之后,我将此图像传递给Map Marker
marker.icon = [self drawImage:[self makeRoundedImage:img radius:25] inImage:markerImage atPoint:CGPointMake((markerImage.size.width/2)-25, (markerImage.size.width/2)-25)];
我面临的问题是我创建了70个测试用户,App内存增长到100 MB,上面有很多自定义标记。 请建议我处理这种情况的最佳解决方案。 感谢。
答案 0 :(得分:0)
如果多个标记使用相同的图像,请确保它们引用相同的对象而不是同一内容的多个实例。您还可以查看此issue的解决方案。
另请查看此SO question以获取更多信息。