Потеря данных носимого датчика Tizen в фоновом режиме после выключения Wi-Fi
Я занимаюсь разработкой гибридного приложения для Tizen Wearable 2.3. Для приложения данные акселерометра и датчика гироскопа извлекаются и записываются в файл в собственном служебном приложении с частотой 100 Гц.
Тем не менее, в некоторых испытаниях я вижу, что данные теряются через несколько минут после отключения WiFi. Например, если я записываю данные в течение 10 минут, сохраняя приложение в фоновом режиме (дисплей выключен) и отключая Wi-Fi в течение пятой минуты, файл показывает данные только в течение первых 5 минут, остальные данные не записываются в файл, Как я могу остановить это поведение?
Благодарю.
2 ответа
Наконец, обнаружил, что я не получил device_power_request_lock
на процессоре.
device_power_request_lock( POWER_LOCK_CPU, 0);
Функция блокирует заданное состояние блокировки на бесконечное время и не позволяет процессору переходить в состояние сна, что приводило к потере данных. Чтобы разблокировать процессор после записи сеанса:
device_power_release_lock(POWER_LOCK_CPU);
В дополнение к предыдущему ответу, помимо установки блокировки процессора, по-прежнему необходимо добавить тип категории "датчик" в фоновой категории, чтобы система tizen (я использую tizen 3.0 на границе Gear S3) не убивала приложение из-за высокого уровня энергопотребление, как один из ответов, упомянутых в этом посте. Можно ли сохранить приложение Tizen без остановки.
Перейдите в tizen-manifest.xml >> Дополнительно >> Фоновая категория >> Добавить тип категории "датчик".
В моем случае вначале я только включил блокировку процессора, а датчики непрерывно записывали данные в фоновом режиме. Но менее чем за десять минут приложение было запущено, система tizen выскочила в окно с вопросом: "Приложение XXX потребляет много энергии, вы хотите закрыть его". Забавно, что нет вибрации, как уведомление об этом, пока экран еще черный. Я едва нашел это всплывающее окно случайно. Если вы решили оставить приложение работающим и думаете, что все в порядке, то вы совершенно не правы. Система будет делать то же самое время от времени (10 минут или около того), и, если вы не заметите, ваше приложение будет убито. Документ Tizen действительно беспорядок, и в основном вы можете определить проблемы только методом проб и ошибок и с помощью онлайн-сообщений.