android - 在 Android 上绘制大量圆圈的最佳方法?

标签 android performance canvas gpu

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

最佳答案

我建议你

  1. 在单独的 Canvas 上画一个圆圈;
  2. 将其转换为 alpha 混合位图;
  3. 通过渲染这个位图画出你所有的圈子。

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

除此之外,您可能会尝试弄清楚您是否真的需要所有数据点。很难相信 20,000 个圈子会比一些聚合或近似 View 对用户更有意义。

关于android - 在 Android 上绘制大量圆圈的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27418134/

相关文章:

android - 存储图像 - mysql 与文件系统

java - org.json.JSONException : Value <div of type java. 调试时lang.String无法转换为JSONObject

performance - 为什么删除边界检查后我的代码运行速度变慢了?

javascript - 将图像从 Canvas 保存到 WordPress 媒体库(或服务器)

java - 在 LIBGDX 中绘制弯曲的自定义对象?

performance - Tomcat 原生库的好处

JavaScript 需要比预期更多的时间

swift - 如何访问 SwiftUI Canvas 中的像素数据

python - 我需要想办法在触摸屏上获取用户签名

android - 在不使用 Web 服务的情况下在 Android SQL-Lite 和 SQL Server 之间交换数据