Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
1

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

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

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

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

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

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

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

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

EditText: удержать курсор на месте
нужно в edittext изменить часть текста (добавить span). Я делал так: копировал...

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

Как влияет кеш памяти L3 на производительность процессоров?
Хочу поменять проц. Остановился я на феном ІІ х2 545 (550, 555) Пошастал в...

Очистка кеш-памяти (процессор Intel i5 750 2,66 ГГц)
Как очистить кеш-память?(процессор Intel i5 750 2,66 ГГц)

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

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

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

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

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

Слышал что можно сделать сервис системным(неубиваемым) с обязательной иконкой в нотиф. Может можно ТУДА поместить данные? Вместе со сложной логикой? А форма будет лишь отобржать эти данные? И грузиться мгновенно...
Или сделать подобный сервис в соседней программе?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2014, 18:30

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

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

Удержать CheckBox включенным в определенные промежутки времени
Господа каким образом возможно удерживать нажатым CheckBox в интервале с 22:00...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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