我在Android應用程序中將Google Maps v1升級到v2。Google Maps v2 Projection.toScreenLocation(...)極其緩慢
而v2很好,等等,但一種方法似乎是我生命中最慢的事情。
Projection proj = map.getProjection();
Point point = proj.toScreenLocation(example.m_geopoint);
toScreenLocation(...)速度太慢,所以應用程序變慢,導致無法使用慢動作。 該方法每幀可能更新100次,但在Google Maps v1上效果非常好。
當我在Android的控制檯檢查我看到這一點:
10-06 13:53:04.460: D/dalvikvm(4889): GC_EXPLICIT freed 251K, 14% free 14622K/16839K, paused 3ms+5ms
10-06 13:53:05.859: D/dalvikvm(4889): GC_EXPLICIT freed 252K, 14% free 14622K/16839K, paused 2ms+5ms
10-06 13:53:07.222: D/dalvikvm(4889): GC_EXPLICIT freed 251K, 14% free 14622K/16839K, paused 3ms+6ms
...
這個消息出來所有的時間,而該方法被調用。
和V2和V1之間的區別是:
pointOut = proj.toScreenLocation(geopointIn); // v2
projection.toPixels(geopointIn, pointOut); // v1
而且V1似乎更優化的解決方案。有什麼方法可以讓它更快?這是一個性能錯誤?
這是很長一段時間以前,但我目前遇到一些性能問題非常類似於這裏描述的。你有沒有在某個時候找到解決方案? – saberrider 2017-01-18 13:06:32