В настоящее время мы разрабатываем приложение для Android, которое является приложением для отслеживания работоспособности. Он работает постоянно в фоновом режиме, и он отлично работает на большинстве устройств, но у нас были проблемы с тем, что приложение полностью умирает на некоторых устройствах Samsung. После некоторого расследования кажется, что некоторые устройства Samsung имеют полностью настраиваемую функцию "Оптимизация приложений" (http://forums.androidcentral.com/samsung-galaxy-s6/599408-app-optimisation-after-updating.html), которая в основном ) примитивная версия функции Doze, которая существует в более поздних версиях Android, которая в основном просто убивает приложения, если они не использовались в течение трех дней.
Поскольку это приложение более или менее выполняет только ведение журнала и не открывает активность, это представляет большую проблему для нас, поскольку эта функция предварительно включена на многих устройствах Samsung. Проблема решена с использованием службы переднего плана, но это кувалда решения, которое требует нарушения пользователем постоянного уведомления, и нам действительно не нужно, чтобы приложение было на переднем плане - мы в порядке с нормальной мощностью управление Android.
Функция оптимизации приложений Samsung четко заявляет, что она будет "оптимизировать" приложения, если они не использовались в течение трех дней. Есть ли у кого-нибудь представление о том, что Samsung считает "используемым", и могу ли я как-то вызвать это?
Side-rant: На мой взгляд, это плохо реализованная функция, которая делает разработку Android более агрессивной. Помимо нашего прецедента, любые приложения для обмена сообщениями прерываются. Если бы не тот факт, что Facebook Messenger и Whatsapp жестко подключены к тому, чтобы быть освобожденными от приложения, пользователи будут сходить с ума, потому что это нарушит их опыт.