Параллельность с Android Thread, Handler и HandlerThreads - PullRequest
0 голосов
/ 27 сентября 2019

Хорошо.Поэтому я работаю с Camera2 API и пытаюсь обработать всю работу в фоновом режиме, чтобы пользовательский интерфейс отвечал за это.Я реализовал HandlerThread и Handler, чтобы поместить в него задачу следующим образом:

    private void startBackgroundThread(){
         backgroundHandlerThread = new HandlerThread("BackgroundThread");
         backgroundHandlerThread.start();
         backgroundHandler = new Handler(backgroundHandlerThread.getLooper());
    }

Затем я размещаю исполняемые файлы следующим образом:

    backgroundHandler.post(new ImageSaver(reader.acquireLatestImage()));

Проблема в том, что я использую одно и то жеобработчик (backgroundHander) для каждого запускаемого файла, который я публикую, и у меня возникают серьезные проблемы с производительностью.Это говорит мне о том, что я не выполняю параллелизм правильно, но я не могу найти правильное использование этих классов после просмотра документов в течение нескольких часов.Каков правильный подход?

  • Создание нескольких обработчиков для каждого исполняемого файла, который я публикую в HandlerThread?
  • Создание нескольких обработчиков для каждого типа запускаемого файла?

Заранее спасибо и постарайся не быть грубым со мной, потому что я довольно нуб.

...