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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

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

25.07.2014, 06:13. Просмотров 460. Ответов 2
Метки нет (Все метки)

Гуру, помогите! Задача не для новичка...

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

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

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

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

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

EditText: удержать курсор на месте - Программирование Android
нужно в edittext изменить часть текста (добавить span). Я делал так: копировал текст из edit text в SpannableString, обрабатывал, затем...

Как создать кеш - Программирование Android
Добра всем. Никак не могу найти, куда правильно и по канону сохранять временные файлы своего приложения, чтобы в последствии пользователь...

Удержать форму на заднем плане - C++ Builder
Я не могу окно переместить и удерживать под всеми остальными. SendToBack(); - не работает. Компилируется но не перемещает под все окна. ...

Помогите удержать footer внизу страницы! - HTML, CSS
Я знаю, что инструкции по моему вопросу есть на каждом углу, но мне попался тут один шаблон, никак не могу заставить footer держаться...

Как удержать более пяти клавиш одновременно? - C++
Мне надо, чтобы пользователь моей программы удерживал больше пяти клавиш одновременно, однако как только он удерживает пять клавиш, система...

Удержать CheckBox включенным в определенные промежутки времени - Visual Basic .NET
Господа каким образом возможно удерживать нажатым CheckBox в интервале с 22:00 сегодняшнего дня и до 5:00 утра завтрашнего ?. Если можно...

Пальцы на мосту ASUS M5A78L-M не удержать. Это нормально? - Материнские платы
Простите за название, но так будет понятнее. Материнка ASUS M5A78L-M. Зараза, обведённая на картинке греется, можно сказать, в простое так,...

Как при сбое удержать программу и среду VB в Windows-е? - Visual Basic
'Для корректной работы моей программы мне нужно 'определить в интернете я или нет. 'Я использовал эту фукцию. Меня не устраивает, что...

Какую нужно приложить к треугольнику силу, чтобы удержать его в указанном положении? - Механика
2) Какую и в каком направлении нужно дополнительно приложить к треугольнику минимальную силу F, чтобы удержать его в положении,...

IE кеш - Web
на моем сайте есть страница sample.xaxa Как заставить IE ее кешировать? Спасибо


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

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

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

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

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

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

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