Использование камеры2 против устаревшей камеры - что лучше всего?

Я пишу приложение, для которого камера является важной функцией. В этой связи я хочу быть на 100% уверен в следующих аспектах:

  • Если я использую устаревшую камеру: приложение все еще будет работать на всех API-интерфейсах Теперь?
  • Если 1) да: в какой момент это приложение не будет запускаться больше на всех API (мое приложение должно охватывать минимум API 17)?
  • Где я могу найти обновленную официальную информацию о 2), то есть что планируется и когда?
  • Скажем, теперь я бы использовал новую камеру2, я понимаю, что приложение будет не запускается на любом API ниже 21 - правильно?
  • Моя рабочая гипотеза из информации, которую я получил до сих пор: ТЕПЕРЬ все еще использует устаревшую камеру. Но продолжайте наблюдать за долями на рынке API-интерфейсов и вскоре начните изучение камеры2, чтобы быть готовым переключить приложение на камеру2 в течение следующих 2-3 лет. Вы согласны?

В любом случае использование камеры устройства и ее запуск практически на всех целевых устройствах достаточно сложно (так как сейчас я счастлив освоить "старую" камеру...). Поэтому я действительно хочу быть уверенным в вышеупомянутых моментах. Большое спасибо за ваши ответы.

Ответы

Ответ 1

Если я использую устаревшую камеру: приложение все еще будет работать на всех API?

Да.

В какой момент времени это приложение больше не будет работать на всех API (мое приложение должно охватывать минимум API 17)?

Постройте машину времени, идите в будущее, узнайте, и пусть все остальные знают.

IOW, мы не можем предсказать, когда и когда Google может полностью прекратить этот API. При этом они почти никогда не прекращают использование API.

Где я могу найти обновленную официальную информацию о 2), то есть что планируется и когда?

Получите работу с Google или пойдите с вышеупомянутой опцией машины времени. Google не имеет привычки заранее объявлять о планах, и их машина времени недоступна для аренды.

(хотя у Элона Муска, вероятно, есть Тесла, оснащенная Mr. Fusion, чтобы вы могли связаться с ним...)

Я бы использовал новую камеру2 уже сейчас, я понимаю, что приложение не будет работать на любом API ниже 21 - правильно?

Правильно.

СЕЙЧАС все еще использует устаревшую камеру. Но продолжайте наблюдать за долями на рынке API-интерфейсов и вскоре начните изучение камеры2, чтобы быть готовым переключить приложение на камеру2 в течение следующих 2-3 лет. Вы согласны?

Нет, по причинам, которые я разъясню после следующей цитаты.

использование камеры устройства и ее запуск практически на всех целевых устройствах достаточно сложно.

Частью этой хитрости является тот факт, что у производителей устройств есть камеры, которые можно было бы щедро описать как "причудливые".

Проблема с привязкой к API старой камеры заключается исключительно в том, что я ожидаю, что контроль качества на этом API будет неуклонно снижаться. Какие ограниченные ресурсы производители устройств для камер в основном будут посвящены новому API.

Следовательно, моя рекомендация состоит в том, чтобы использовать оба API: используя camera2, где это возможно, и, при необходимости, вернуться к исходному API. По общему признанию, это требует значительно большей работы. Если вы не в состоянии выполнить эту работу, тогда у вас нет выбора, кроме как придерживаться оригинального API-интерфейса камеры до тех пор, пока вы не готовы к тому, чтобы ваш minSdkVersion был 21 +.

Ответ 2

Google только что анонсировал CameraX, API-оболочку для камеры и камеры2. Этот новый API поддержки пытается устранить причуды, добавленные каждым производителем для нашего решения.

Проверьте это: https://developer.android.com/training/camerax