Ответ 1
Очень подробный вопрос, я сделаю все возможное, чтобы ответить на него. В моем приложении я использовал следующий подход:
-
Я сохраняю учетные данные пользователя в общих настройках. Предпочтения могут содержать только пользовательские объекты, если они сериализуемы, а запись и чтение из флэш-памяти занимает много времени. Поэтому я загружаю настройки при запуске и сохраняю их в памяти.
-
Я стараюсь хранить все данные в памяти, которые необходимы во многих местах и в согласованном состоянии, вся другая память передается через сериализацию в json и проходит через намерение, или я пропускаю только идентификаторы, и я повторно вытащите его из сети. (В настоящее время существует определенная возможность для обналичивания в локальной базе данных, но усилия по ее обновлению - это большая работа на данный момент.) Чтобы хранить объекты, которые требуют много времени для перезагрузки из внутренней памяти или сети и повторного использования, я использую пользовательский application, который содержит ссылку на некоторые объекты контроллера, которые управляют кэшированием. Приложение останется в памяти, пока ваше приложение не будет закрыто. Это удобно, но может привести к необходимости использовать много памяти, если вы не будете осторожны.
-
Растровые изображения, загружаемые моей программой, кэшируются на двух уровнях. В первый раз, когда я хочу получить доступ к образу, я создаю объект диспетчера изображений внутри области действия. Этот объект попытается найти растровое изображение во внутренней карте. Если его нет, он попытается загрузить его из памяти телефона, если его нет в памяти телефона, он будет загружать его из сети, хранить его в папке кеша моего приложения и помещать на карту. Таким образом, растровое изображение доступно до тех пор, пока действие выполняется и очищается в тот момент, когда пользователь переходит на другой экран. До сих пор этого достаточно для меня.
В конце просто начните программирование и вернитесь, если вы столкнетесь с другими вопросами или ошибками и зададите еще несколько конкретных вопросов.