Firebase OnSuccessListener работает в отдельном потоке? - PullRequest
0 голосов
/ 05 мая 2020

Я использую firebase Google для обнаружения объектов. Вы запускаете его примерно так:

Task<List<FirebaseVisionFace>> result =
    mDetector.detectInImage(FirebaseVisionImage.fromBitmap(dcBitmap))
                                        .addOnSuccessListener(  //etc, etc

Теперь я пытаюсь понять, насколько этот вызов влияет на частоту кадров моих приложений, поскольку это происходит в камере l oop. Я попытался разбить его на TimmingLogger, но он сказал мне, что вызов возвращается примерно через 1 мс. Но ясно, что если я закомментирую детектор, мой fps будет расти. Так что мне любопытно, знает ли кто-нибудь, действительно ли этот код вызывается в отдельном потоке? Или я каким-то образом прервал работу своего потока и позволил ему запустить это обнаружение? Думаю, я пытаюсь понять, где выполняется работа и как измерить, сколько на это уходит времени.

1 Ответ

1 голос
/ 05 мая 2020

Сам детектор работает в отдельном потоке, но затем прослушиватель успеха снова вызывается в основном потоке / потоке пользовательского интерфейса.

...