【问题标题】:Best way to draw a large number of circles on Android?在Android上绘制大量圆圈的最佳方法?
【发布时间】:2015-02-09 15:48:11
【问题描述】:

我正在android上创建一个应用程序,在某些部分我必须画很多小圆圈来表示一种数据。我的数据集大约有 20000 个点,处理(翻译和缩放)这些数据的延迟对用户体验来说太糟糕了,不能这样。我正在使用 Fragment 并使用 Canvas for Android SDK 绘制这些点。任何人都有其他想法来绘制大量成本更低的点,也许翻译和规模将不再是问题?

【问题讨论】:

  • SurfaceView 与 OpenGL?

标签: android performance canvas gpu


【解决方案1】:

我建议你

  1. 在单独的画布上绘制一个圆圈;
  2. 将此转换为 alpha 混合位图;
  3. 通过渲染此位图绘制所有圆圈。

这将避免 Android 必须将圆渲染为位图的每个步骤的处理。

除此之外,您可能会尝试确定您是否真的需要所有数据点。很难相信 20,000 个圆圈对用户来说比一些聚合或近似视图更有意义。

【讨论】:

  • 另外,您可以将圆圈绘制到位图缓冲区,这样就不会每帧都绘制它们,并且仅在用户更改内容时刷新它。
  • 在我可以在这些点上添加点击监听事件之后?点有不同的颜色会有问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-15
  • 2012-09-25
  • 2013-10-30
  • 1970-01-01
  • 2015-06-14
  • 2018-08-29
相关资源
最近更新 更多