Форум программистов, компьютерный форум CyberForum.ru

Удержать кеш в памяти - Android

Войти
Регистрация
Восстановить пароль
 
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
25.07.2014, 06:13     Удержать кеш в памяти #1
Гуру, помогите! Задача не для новичка...

Есть сложная программа (моя), которая при старте читает много данных в память и хитро индексирует их. Как это обычно делают игры....
Проблема в том что мне надо при старте устройства один раз проделать эту длинную процедуру (около 15-20 секунд), а потом иметь доступ к этим данным (набор классов) при каждом запуске по иконке. Убив программу через хоум не должен потерять все! Упростить сильно данные не могу, как и записать их в базу в виде, готовом для использования...

Программа основная для устройства (спец программа) - игры и другие утилиты это редкость, но и мешать не хочу...

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

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

Даже думал на NDK перейти ради этого - там сборщика мусора нет и если удержать программу не убитой, то по идее и данные сохранятся...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2014, 06:13     Удержать кеш в памяти
Посмотрите здесь:

Утечка памяти в Spiner Android
Освобождение памяти Android
Путь к карте памяти Android
Активити не уходят из памяти Android
Дамп памяти Android
Android EditText: удержать курсор на месте
Android Очистка памяти Bitmap
Проверка расширенной памяти Android
Android ImageView очистка памяти
Android AsynkTask и утечки памяти
Утечка памяти Android
Колличество обращений к памяти Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
forcelain
6 / 6 / 1
Регистрация: 14.07.2014
Сообщений: 28
25.07.2014, 09:05     Удержать кеш в памяти #2
Если то, что Вы хотите "удержать в кеше" представляет из себя набор объектов каких-то классов в каком-то важном для Вас состоянии, можете попробовать воспользоваться сериализацией.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
25.07.2014, 18:30  [ТС]     Удержать кеш в памяти #3
Цитата Сообщение от forcelain Посмотреть сообщение
можете попробовать воспользоваться сериализацией
Думал над этим... Но куда сохранять эти классы и когда?

Знал о подобной технологии и уже думал о ней. Полистал http://habrahabr.ru/post/60317/
Но так и не понял... похоже еще предстоит придумать протокол хранения классов и методику чтения востановления всех подчиенных и таблиц...

Классы в памяти могут изменяться и перестраиватся юзером. Еще нужно вводить контроль версии...
Да и повредить данные можно на флешке не успев их дописать (перезагрузка, сдыхание батареи или убийство юзером). А значит еще нужен контроль целостности.

Можно ли без этих извращений и написания целой сисемы хранения костылей, просто сделать так что-бы эти классы оставались в памяти и не убивались мусоросборщиком или юзером при удалеии программы из хоум(лонгклик по кнопке хоум и выкидывание якобы не нужных).

Слышал что можно сделать сервис системным(неубиваемым) с обязательной иконкой в нотиф. Может можно ТУДА поместить данные? Вместе со сложной логикой? А форма будет лишь отобржать эти данные? И грузиться мгновенно...
Или сделать подобный сервис в соседней программе?
Yandex
Объявления
25.07.2014, 18:30     Удержать кеш в памяти
Ответ Создать тему
Опции темы

Текущее время: 06:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru