PreloadMatrix(Dest: ICubeInstanceDestination);
Dest. Отстроенный вариант отображения куба.
Метод PreloadMatrix загружает кешированные данные указанного варианта отображения куба в оперативную память.
Вызов метода PreloadMatrix позволяет загрузить кешированные данные в память до их фактического использования. Если в кубе много данных, то загрузка может занять длительное время, поэтому стоит производить её по мере необходимости и в моменты ожидания разрабатываемого приложения. Также, рекомендуется использовать метод только если имеется достаточное количество оперативной памяти, так как, если памяти не будет хватать, то будет производиться вытеснение ранее загруженных данных.
Для выполнения примера в репозитории предполагается наличие куба с идентификатором CUBE. В репозитории используется файловый кеш.
Добавьте ссылки на системные сборки: Cubes, Metabase.
Sub UserProc;
Var
Mb: IMetabase;
CubeInst: ICubeInstance;
DestInst: ICubeInstanceDestination;
InMem: IInMemManager;
Begin
Mb := MetabaseClass.Active;
// Открытие куба
CubeInst := Mb.ItemById("CUBE").Open(Null) As ICubeInstance;
DestInst := CubeInst.Destinations.DefaultDestination;
// Инициализация менеджера для работы с кешем
InMem := New InMemManager.Create;
// Проверка наличия данных в кеше
If InMem.CheckHasMatrix(DestInst) Then
Debug.WriteLine("Объем используемой памяти до загрузки: " + InMem.SharedMemory.ToString + " байт.");
//Загрузка матрицы в оперативную память
InMem.PreloadMatrix(DestInst);
Debug.WriteLine("Объем используемой памяти после загрузки: " + InMem.SharedMemory.ToString + " байт.");
End If;
End Sub UserProc;
При выполнении примера матрица будет выгружена в кеш и в окно консоли будет выведено сообщение об используемой памяти.
См. также: