我正在编写一个DAW风格的应用程序,需要实现这些程序中常见的横向滚动时间轴。换句话说,它应该对用户来说似乎是在滚动一个非常大的位图,其中几个实际上是针对不同的轨道,无缝地。显然,如果我使用一个非常大的水平滚动视图来处理内存问题,那么这需要是用户看到的效果。现在,我为每个轨道都有一个自定义视图,并将波形绘制到其画布中。
我想过构建三个视图,左边,主动和右边,只是在左边或右边的一个滚动到及时准备好下一个屏幕时交换新数据。我认为这些方面的内容将成为最终的解决方案,但我不确定实现它的最佳方法是什么。我应该在监视和更新屏幕外视图的后台运行服务,这是实现此目的的最佳方法吗?我之前没有使用过服务。或者是否有更直接的方法,将一些代码附加到视图中以自动执行?
任何建议都将不胜感激。