2015-06-17 4 views
0

Я разрабатываю приложение, которое в значительной степени зависит от данных датчиков. Поэтому мне нужно структуру, которая будет держать на зондировании в этих условиях:Android надежное обнаружение датчика

  • держать зондирования на низкой памяти (выжить Garbage Collection)
  • держать зондирования после того как пользователь вытирает приложение из стека
  • держать зондирования после аварии

Проблема в том, что Android, как известно, является жестоким для сбора мусора. Нынешнее решение, которое у меня есть, - это сервис переднего плана, который является действительно плохой практикой. Я хочу переключиться на одноэлементный объект, поскольку служба (даже на переднем плане) не имеет вечной жизни. Итак, первый вопрос прост:

Могут ли статические члены собирать мусор, например, при использовании одноэлементного?

ответ

0

Статические элементы не могут быть собраны в мусор, но приложение может быть убито в условиях низкой памяти, что приведет к стиранию синглтона при перезапуске. То, что вы хотите - это не то, что Android может сделать - вы говорите, что хотите RTOS.

+0

Когда будет удалено синглтон? При перезагрузке? Или когда пользователь снова начинает взаимодействовать? Каков был бы эффект такого синглтона? – user1111652

+0

Всякий раз, когда приложение уничтожается и удаляется из памяти. Который может быть в любое время, когда хочет ОС, но имеет тенденцию быть, когда он работает на свободной ОЗУ. Результатом будет статическая переменная - это значение по умолчанию - null (для объектов), 0 (для ints), false (для булевых) до повторного инициализации. Все приложение начнет работу. –

Смежные вопросы