使用Google Maps SDK for iOS时,内存和CPU使用率非常高

我正在创build一个应用程序,我必须在地图上显示注册用户。 我必须显示他们的个人资料图片。 可能有很多,可能是1000,2000或3000。

问题是,通过添加每个图像,其内存使用增加,应用程序变慢。 例如,我正在使用这段代码:

UIImageView * imgView = imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"like_r.png"]]; for(int i=0;i<1000;i++) { GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(31.4514885, 74.2642593); marker.iconView = imgView; marker.map=_mapView; } 

有没有一种很好的方式来显示地图上的所有用户?

尝试设置marker.tracksViewChanges = NO; 让CPU闲置。

或者,设置marker.image = [UIImage imageNamed:@"like_r.png"]; 而不是设置iconView,这应该有类似的效果。

这些更改应该有助于CPU,但可能无法解决与内存相关的问题。

用户无法同时看到所有1000个引脚。 您可能应该通过将closures的用户分组在一起来减less显示的引脚数量。 而当放大时,可以通过增加分组因子来分离这些针脚。