SciChart График разрыва - PullRequest
       26

SciChart График разрыва

0 голосов
/ 16 декабря 2018

Приложение получает данные от Bluetooth и рисует график в реальном времени.

Однако график часто получает разрывы.

Источником данных является модуль Bluetooth (отдельный поток) ион не может отправить все данные в библиотеку SciChart.Честно говоря, когда я вставляю строку Log.d() в поток Bluetooth для печати данных, все начинает работать волшебным образом.

Я подозреваю, что поток Bluetooth не выполняется вовремя.

Вот некоторый код, который является частью Scichart, модифицированного мной в DataManager.java файле.

public void setSensingData(PBSensorData pbSensorData) {

        try {
            sensorDataQueueBlocking.put(pbSensorData);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        // This is the magic line. When the line is here, things work fine
        Log.d("DataManager", "put: " + (System.currentTimeMillis() - startTime) + " (ms)" ); 
        startTime = System.currentTimeMillis();
}

Заранее спасибо!

1 Ответ

0 голосов
/ 17 декабря 2018

К сожалению, вы не предоставили какой-либо код, который настраивает SciChartSurface или его части (например, код, заполняющий ряды данных), поэтому я не уверен на 100%, почему в вашем приложении возникают разрывы.

Это может быть вызвано слишком частыми обновлениями диаграммы или, возможно, вы выделяете слишком много объектов во время обновлений.В этом случае вы можете получить микро-зависания в вашем приложении, когда ОС Android приостанавливает работу виртуальной машины, чтобы выполнить GC, что потенциально может привести к разрывам, которые вы описали.В любом случае я бы посоветовал начать с профилирования вашего приложения, чтобы выяснить, есть ли скачки в использовании процессора или памяти.Также я бы посоветовал взглянуть на этот ответ , в котором содержатся некоторые предложения по улучшению производительности диаграммы.

Также я бы посоветовал вам взглянуть на Audio Analyzer демо из SciChart Showcase, приложение , которое показывает, как отображать данные в реальном времени с микрофона.Надеюсь, что этот пример поможет вам.

...