【发布时间】:2020-05-10 10:38:30
【问题描述】:
我有一个已经绘制并与声音同步的折线图。 当我们播放声音时,图表开始水平滚动。 但问题是滚动图表时滞后。 有没有办法解决这个问题?
private Runnable mRunnable = new Runnable() {
@Override
public void run() {
forceRunInPauseMode = false;
getActivity().runOnUiThread(() -> {
currentTime = (int) exoPlayer.getCurrentPosition();
binding.tvCurrentDuration.setText(MiliToTimeConverter.milliToTime(currentTime));
});
int currentRange = currentTime * 2;
if (!isDraw) {
DoubleValues xValues = new DoubleValues(Arrays.copyOfRange(xDoubleArray, 0, xDoubleArray.length - 1));
DoubleValues yValues = new DoubleValues(Arrays.copyOfRange(yDoubleArray, 0, yDoubleArray.length - 1));
DoubleSeries doubleSeries = new DoubleSeries(xValues, yValues);
lineData.append(doubleSeries.getxValues(), doubleSeries.getyValues());
isDraw = true;
}
xVisibleRange.setMinMax(currentRange - visibleInterval / 2, currentRange + visibleInterval / 2);
}};
private void updateChart() {
schedule = scheduledExecutorService.scheduleWithFixedDelay(() -> {
if (!isPlaying && !forceRunInPauseMode)
return;
UpdateSuspender.using(binding.sciChart, mRunnable);
}, 0, TIME_INTERVAL, TimeUnit.MILLISECONDS);}
private void pause() {
exoPlayer.setPlayWhenReady(false);
binding.ivPlay.setImageResource(R.drawable.ic_play);
if (schedule != null)
schedule.cancel(false);}
【问题讨论】:
-
您是否尝试使用 Android Studio 分析器分析您的应用程序?它显示了什么?