Приложение Android сохраняет данные, когда приложение в фоновом режиме

В настоящее время я разрабатываю клиент xmmp, который работает довольно хорошо, когда приложение находится на переднем плане. Но из-за того, что я храню довольно много данных в классе Application (сложные ArrayList, Strings и booleans как открытая статика), когда приложение находится в фоновом режиме, каждое поле собирается для сбора мусора.

Итак, мой вопрос, каков наилучший способ получить эти данные, когда я получаю приложение из фона? Это большая проблема, потому что я пока использую эту общедоступную статику в каждом классе, и это приводит к сбою моего приложения. Проблема заключается в том, что пользователь может помещать приложение в фоновом режиме после каждого действия, а повторное заполнение данных в классе приложения кажется чем-то сложным. Может быть, есть другой способ хранения данных с глобальным доступом к ним, который не будет стираться в фоновом режиме?

заранее спасибо

2 ответа

Решение

Если проблема заключается в том, что ваше приложение уничтожается android в backgroud, стандартным способом будет сохранение данных в функции onDestroy() вашего основного действия и извлечение этих данных в методе onCreate при повторном открытии приложения. (используя комплект).

Если вы хотите, чтобы данные сохранялись даже при выключенном телефоне, вы можете рассмотреть варианты постоянного хранения, такие как база данных. Посмотрите на http://developer.android.com/guide/topics/data/data-storage.html

Наконец, если вам нужен способ работать в фоновом режиме, вы можете взглянуть на класс Service. Но если бы вам потребовалось еще немного кодирования для связи между вашим сервисом и деятельностью

Попробуйте использовать sharedpreferences см. Следующий пример

http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/

Другие вопросы по тегам