Android:地图绘制性能,1K 绘图!
所以我有一个应用程序可以在开放街道地图上绘制直线、折线、圆等。 我保留了一个绘图列表,当地图无效时,我会迭代列表,重新绘制 Overlay 的 onDraw 方法中的每个项目。在我的绘图数量达到 300+ 左右之前,这一切都很好。然后出现一些严重的 UI 延迟。
我正在寻找一种有效的方法来做到这一点?
我已经在“板”绘图应用程序上完成了位图缓存绘图。尽管这不适用于这种情况,因为背景中的投影可以改变,因此绘图必须移动。
So I have an application that draws line, polyline, circles, etc over an Open Streen Map.
I keep a list of drawings, when the map is invalidated I iterate though the list redrawing each item within the onDraw method of an Overlay. This works fine until my drawing count gets around 300+. Then some serious UI delay kicks in.
I'm looking for an efficient way to do this?
I've done bitmap cache drawing on a "board" drawing application. Although that will not work for this situation as the projection in the background can change, thus the drawing must move.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我正在保存 GeoPoints,然后在每次重绘期间对“MapView Point”进行大量转换。结果投影有一个“中间点”,可以存储并轻松投影到“MapView 点”。所以繁重的计算部分只完成一次。
使用 (fromPixels)将
I was saving GeoPoints and then doing a heavy conversion to the "MapView Point" during each redraw. Turns out the Projection has an "Intermediate Point" which can be stored and easily projected to the "MapView Point". So the heavy computational part only done once.
Steps