Russian Qt Forum
Апрель 26, 2024, 16:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Есть ли смысл в использовании QCache  (Прочитано 2253 раз)
qt_newer
Гость
« : Сентябрь 18, 2014, 14:35 »

Есть xml файл с несколькими типами данных, самый большой- страны (полное название, короткое, уникальный код), остальные типы включают 10-20 записей похожей структуры. Эти данные используются в разных местах приложения, целевое устройство имеет ограниченный объем памяти. В приложении есть возможность обновления этого xml файла (инициируется пользователем).
Есть ли в данном случае преимущества использования кеша перед просто считыванием данных из файла при запуске приложения и сохранении в обычной памяти?
Заранее спасибо!
Записан
Swa
Самовар
**
Offline Offline

Сообщений: 170


Просмотр профиля
« Ответ #1 : Сентябрь 18, 2014, 14:55 »

В документации же всё описано:
Цитировать
The advantage of using QCache over some other key-based data structure (such as QMap or QHash) is that QCache automatically takes ownership of the objects that are inserted into the cache and deletes them to make room for new objects, if necessary. When inserting an object into the cache, you can specify a cost, which should bear some approximate relationship to the amount of memory taken by the object. When the sum of all objects' costs (totalCost()) exceeds the cache's limit (maxCost()), QCache starts deleting objects in the cache to keep under the limit, starting with less recently accessed objects.
Т.е. Кеш позволяет контролировать примерный расход памяти, что не делают остальные контейнеры.
Записан
popper
Гость
« Ответ #2 : Сентябрь 18, 2014, 18:42 »

QCache нацелен на динамическую подгрузку данных по мере запросов/ команд пользователя или программы и, соответственно, на освобождение старых - давно неиспользованных данных. Если ресурсы устройства позволяют загрузить сразу весь xml в память, то кэш не нужен. Другое дело - динамическая подгрузка конкретных записей из xml по требованию.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 22.