Email or username:

Password:

Forgot your password?
Top-level
Lina

(* к сожалению, я не знаю языка kotlin, на котором написано приложение #PixelDroid и у меня мало опыта разработки приложений под Андроид, поэтому в чём то возможно я не права), поэтому после беглого анализа кода и дебагинга кажется*, что проблема в работе #PixelDroid заключается в следующем:

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

Так вот разработчики pixeldroid не учли что когда они создают список элементов - они проходятся по этому списку навигационной панели - то есть запускают каждую из функций (спрашивается, нафига!?) каждого элементов, в том числе конечно запускают "жизненный цикл камеры",

1 comment
Lina

которая (за исключением случаев когда пользователь действительно кликнул по значку камеры и перешёл в окно фотографирования) оказывается хоть и в активтрованном состоянии, но ничего не делает так как ею никто не управляет, и её процесс завершается системой андроид (сборщиком мусора?) через некоторое время.

Исправить ситуацию можно в двух местах:
1)переписать логику запуска жизненного цикла камеры (что вообще-то полезно!) - чтобы камера стартовала только в случае если пользователь находится в окошке фотографирования,
2) убрать запуск функций отдельных элементов навигационной панели - ибо нафига так делать!?)
Тем более что когда возникают ошибки, этот список "сбоит" - в нем остаётся меньше функций чем нарисованных "кнопочек" приложения , и например вместо окошка "уведмоления" клик по колокольчику вызывает показ "локальной ленты" (то есть то что должно делать следующая кнопка в панели)

которая (за исключением случаев когда пользователь действительно кликнул по значку камеры и перешёл в окно фотографирования) оказывается хоть и в активтрованном состоянии, но ничего не делает так как ею никто не управляет, и её процесс завершается системой андроид (сборщиком мусора?) через некоторое время.

Go Up