Android Surfaceview SurfaceHolder Тема - PullRequest
0 голосов
/ 27 мая 2018

Ru : Я использую отображение вида поверхности (ЭКГ), потому что нужна различная скорость двух ЭКГ, поэтому я создал два пользовательских расширения класса поверхности открытого потока в SurfaceCreated, поток к остальной части механизма, чтобы понять, как долго, Вопрос: когдаесть только одно такое представление, моя скорость выполнения потока хороша, но если два пользовательских вида поверхности созданы, два потока открыты, второй серьезно появится явление тайм-аута, анализ: сначала, я думал, что это был тот же самый объект-держатель.Я не смог найти ответ, и мне потребовалась помощь

Код:

Runnable drawRunnable = new Runnable() {
        @Override
        public void run() {
            while (isRunning) {
                    long startTime = System.currentTimeMillis();  
                    startDrawWave();
                    long endTime = System.currentTimeMillis();  
                    try {
                        if (endTime - startTime < sleepTimeRun) {
                            if (chaoShi > 0) {
                                if (((sleepTimeRun - (endTime - startTime)) - chaoShi) >= 0) {
                                    Thread.sleep((sleepTimeRun - (endTime - startTime)) - chaoShi);  
                                    chaoShi = 0;
                                } else {
                             chaoShi -= sleepTimeRun - (endTime - startTime);
                                }
                            } else {
                             Thread.sleep(sleepTimeRun - (endTime - startTime));      
                            }
                        } else {
                            chaoShi += (endTime - startTime) - sleepTimeRun;
                        }
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }

                }
            }
        }
    };

, если только один tartDrawWave () ; обычный, но создание двух пользовательских режимов просмотра с двумя startDrawWave () , может занимать много времени;В десятки раз больше, чем обычно

...