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 () , может занимать много времени;В десятки раз больше, чем обычно