AAChartModel/AAChartKit

你好,使用曲线图时,当曲线数量比较多的时候,点击曲线的时候会很卡,浮动提示框显示的会很慢,想问下有什么办法解决?

Opened this issue · 12 comments

你这个截图是根据 demo 中的示例改的, demo 中的示例曲线全部都是用的渐变色.

  • 渐变色相对纯色会更影响性能一点, 换成纯色应该会好一点.
  • 禁用 tooltip 的动画效果, 也会稍微好一点儿.

如果还不行的话, 那可能就是因为这么多的数据量, 达到 Highcharts 的性能上限了.

如果是达到 Highcharts 在移动端的性能上限的原因的话, 那就只能是:

  1. Highcharts 换成 Highstock
  2. 或者添加额外的性能模块 boost.js

参考:

不过这两个方法都需要你自己会一点 JavaScript 了, 需要自己添加 Highcharts 相关的依赖库了.

这种大数据量的图表展示, 如果是强需求的话, 建议你最好还是用一些其他的 iOS 原生图表库吧. 基于前端的使用 WebView 的图表框架, 在移动端的性能上限确实不如原生.

同一个库同样的参数设置,我用安卓手机测试就不会卡,苹果手机就会卡,这是什么原因?

分别是什么配置的安卓手机和苹果手机? 多大的数据量? 是真机吗?

我用低配的安卓手机和低配苹果手机,高配的安卓手机和高配苹果手机进行测试过,跟手机关系不大,我下载AAChartKit库的安卓版和iOS版进行对比,都使用曲线图时,设置的曲线数据源参数都是一样的,点击曲线图表时,安卓手机显示浮动提示框很快,苹果手机显示浮动提示框很慢

有一个区别是:

  • iOS 的 Objective-C 版本的 AAChartKit 现在依赖的 Highcharts 版本是 9.0,
  • 而安卓的 Java 和 Kotlin 版本的 AAChartCore 依赖的 Highcharts 都是更高版本的 10.0,

不知道这个会不会有影响?! 更高版本的 Highcharts 性能优化的更好?! 不过我感觉可能性不太大.

不过, 如果你想排查一下这个问题, 你可以试试 Swift 版本的 AAChartKit-Swift, Swift 版本的依赖的 Highcharts 是 11.0 以上.

iOS 的 Objective-C 版本 依赖Highcharts 版本能否跟Swift 版本一致呢,都使用11.0以上。不升级Objective-C 版本的Highcharts 版本是有什么考量吗

  - Data URL: https://raw.githubusercontent.com/CocoaPods/Specs/21669380955bfb6072d3ebaa70c92ee1bf374474/Specs/b/1/c/AAChartKit/9.0.0/AAChartKit.podspec.json
  - Log messages:
    - June 5th, 02:29: Push for `AAChartKit 9.0.0' initiated.
    - June 5th, 02:29: Push for `AAChartKit 9.0.0' has been pushed (4.442704985 s).

@BinBear AAChartKit 最新版本 9.0.0 已发布, 依赖的 Highcharts 版本也已升级为最新的 v11.4.3.

不升级Objective-C 版本的Highcharts 版本是有什么考量吗

无他, 单纯是拖延症犯了.😊

  - Data URL: https://raw.githubusercontent.com/CocoaPods/Specs/21669380955bfb6072d3ebaa70c92ee1bf374474/Specs/b/1/c/AAChartKit/9.0.0/AAChartKit.podspec.json
  - Log messages:
    - June 5th, 02:29: Push for `AAChartKit 9.0.0' initiated.
    - June 5th, 02:29: Push for `AAChartKit 9.0.0' has been pushed (4.442704985 s).

@BinBear AAChartKit 最新版本 9.0.0 已发布, 依赖的 Highcharts 版本也已升级为最新的 v11.4.3.

get 点赞