android mapview缓慢且反应迟钝

时间:2012-01-09 23:19:59

标签: android android-mapview

在我的应用程序中,mapview在某些手机上效果很好而在其他手机上效果很差。它似乎是一个RAM问题,即。拥有大量内存和大量堆的手机工作得非常顺畅,没有工作的手机非常糟糕。

我正在回收位图和清理事物,但它似乎没有帮助。在应用程序开发期间,当某些手机出现mapview问题时,它似乎是随机的,但现在看起来非常一致。

基本上在效果不佳的手机上,mapview图块加载缓慢,应用程序的其他部分运行速度非常慢,谷歌地图搜索不提供搜索建议或更新地图并搜索地址。

在有效的手机上,mapview图块快速加载,应用程序的其他部分功能非常快,谷歌地图搜索会根据需要提供搜索建议和地图更新。

是什么导致这种情况以及如何改善它? (这是标准的mapview代码)

我看到一个类似的问题“android mapview很慢”,基本上是我的问题,但解决方案对我来说无关紧要,使用mapview的应用程序如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

您是否查看了此错误报告(以及相关的解决方法):

http://code.google.com/p/android/issues/detail?id=2181

答案 1 :(得分:1)

那么你实际上并没有提供任何代码,但是你是否认为问题可能与mapview有关?或者您是否考虑过或许可以通过其他方式改善性能? 使用mapview 本身可以做的不多,以提高性能。

您可以调查mapview是否缓慢而没有叠加层。我最近发现我的itemizedoverlay实现很糟糕,因为我每次添加新项目时都会添加项目并调用populate,而不是在添加项目时调用populate。这之前没有给出任何问题(没有标签布局),但是标签的工作效果很慢。

您可以尝试的另一件事是远离带有活动的标签(我假设您现在就这样做)并使用带有片段的标签。是的,这可以通过mapview来实现许多fragmentmap活动中的一个,或者创建自己的fragmentmap活动。

答案 2 :(得分:0)

将有效地改善您的表现的一件事是将mapView设置为您活动的顶视图。

MapView myMap = createMapView();

setContentView(myMap);

我甚至建议你在一项新活动中这样做。当然,如果可以的话。