420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
1 | |
Удержать кеш в памяти25.07.2014, 06:13. Показов 948. Ответов 2
Метки нет (Все метки)
Гуру, помогите! Задача не для новичка...
Есть сложная программа (моя), которая при старте читает много данных в память и хитро индексирует их. Как это обычно делают игры.... Проблема в том что мне надо при старте устройства один раз проделать эту длинную процедуру (около 15-20 секунд), а потом иметь доступ к этим данным (набор классов) при каждом запуске по иконке. Убив программу через хоум не должен потерять все! Упростить сильно данные не могу, как и записать их в базу в виде, готовом для использования... Программа основная для устройства (спец программа) - игры и другие утилиты это редкость, но и мешать не хочу... Уже думал и над независимым сервисом - хранилищем(неубиваемый с нотиф), и над другой программой - хранилищем (с сервисом и потоком), и над попыткой записывать кеш на флешку прямо из обьектов... Но... нет гарантии что сервис или другую программу все равно не убьют мусоросборщики, а кеш на флешке не повредится при записи и вообще успеет записатся (если его убивают через хоум) Привык в винде что одна программа может быть сервером хранения и обработки данных в выделеных блоках памяти, а другая только интерфейсом для юзера. Некое подобие SQL сервера или многозвеньевых структур хранения и обработки данных. Можно ли подобное в андроиде организовать? Даже думал на NDK перейти ради этого - там сборщика мусора нет и если удержать программу не убитой, то по идее и данные сохранятся...
0
|
25.07.2014, 06:13 | |
Ответы с готовыми решениями:
2
EditText: удержать курсор на месте Как создать кеш Как влияет кеш памяти L3 на производительность процессоров? Очистка кеш-памяти (процессор Intel i5 750 2,66 ГГц) |
6 / 6 / 1
Регистрация: 14.07.2014
Сообщений: 28
|
|
25.07.2014, 09:05 | 2 |
Если то, что Вы хотите "удержать в кеше" представляет из себя набор объектов каких-то классов в каком-то важном для Вас состоянии, можете попробовать воспользоваться сериализацией.
0
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
25.07.2014, 18:30 [ТС] | 3 |
Думал над этим... Но куда сохранять эти классы и когда?
Знал о подобной технологии и уже думал о ней. Полистал http://habrahabr.ru/post/60317/ Но так и не понял... похоже еще предстоит придумать протокол хранения классов и методику чтения востановления всех подчиенных и таблиц... Классы в памяти могут изменяться и перестраиватся юзером. Еще нужно вводить контроль версии... Да и повредить данные можно на флешке не успев их дописать (перезагрузка, сдыхание батареи или убийство юзером). А значит еще нужен контроль целостности. Можно ли без этих извращений и написания целой сисемы хранения костылей, просто сделать так что-бы эти классы оставались в памяти и не убивались мусоросборщиком или юзером при удалеии программы из хоум(лонгклик по кнопке хоум и выкидывание якобы не нужных). Слышал что можно сделать сервис системным(неубиваемым) с обязательной иконкой в нотиф. Может можно ТУДА поместить данные? Вместе со сложной логикой? А форма будет лишь отобржать эти данные? И грузиться мгновенно... Или сделать подобный сервис в соседней программе?
0
|
25.07.2014, 18:30 | |
25.07.2014, 18:30 | |
Помогаю со студенческими работами здесь
3
Удержать форму на заднем плане Как удержать 1st позицию? Можно ли удержать PR=5 и более, полученный Помогите удержать footer внизу страницы! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |