FGX.Assets.TfgAsset: различия между версиями

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску
(summary)
(summary)
Строка 45: Строка 45:
  
 
<p>Ресурс может содержать большие данные, которые по ходу использования ресурса могут быть загружены в оперативную память. Например, изображения, шрифты и тд. Если ресурс больше никем не используется, то можно выгрузить из памяти связанные данные при помощи этого метода.</p><div class="info">Если данный ресурс используется в компоненте ( <i>IsUsed</i> ), то вызов метода может закончиться повторной загрузкой в память.</div>
 
<p>Ресурс может содержать большие данные, которые по ходу использования ресурса могут быть загружены в оперативную память. Например, изображения, шрифты и тд. Если ресурс больше никем не используется, то можно выгрузить из памяти связанные данные при помощи этого метода.</p><div class="info">Если данный ресурс используется в компоненте ( <i>IsUsed</i> ), то вызов метода может закончиться повторной загрузкой в память.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Change()</code>
 +
<p>Уведомляет всех клиентов, что ресурс изменился. Это позволяет клиентам обновить исопльзование ресурса.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Assign(const AAsset: [[FGX.Assets.TfgAsset|TfgAsset]])</code>
 
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Assign(const AAsset: [[FGX.Assets.TfgAsset|TfgAsset]])</code>
 
<p>Копирование данных ресурса <i>AAsset</i> .</p>
 
<p>Копирование данных ресурса <i>AAsset</i> .</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsEmpty(): [[Boolean]]</code>
 +
<p>Есть ли содержимое внутри ресурса или нет. Например, ресурс может существовать, но без изображения.</p>
 
|}
 
|}
  

Версия 03:13, 6 декабря 2021

Delphi

TfgAsset = class (TObject)

TObject -> TfgAsset

Прямые наследники: TfgAssetBitmapSet, TfgAssetColor, TfgAssetFile, TfgAssetFont

Описание

Базовый класс именованного ресурса.

Конструкторы

constructor
Create(const AName: TfgAssetName; const APlatform: TfgPlatform; const ADeviceClass: TfgDeviceClass)

Описание отсутствует.

Методы

procedure
BeforeDestruction()

Описание отсутствует.

class function
GenerateId(const AName: TfgAssetName; const APlatform: TfgPlatform; const ADeviceClass: TfgDeviceClass): string

Генерирует уникальный идентификатор ресурса на основе имени ресурса, платформы и класса устройства.

procedure
Acquire()

Помечает ресурс, что он используется и не должен быть выгружен из памяти (см. ReleaseFromMemory ).

Основан на счетчике. Можно вызывать сколько угодно раз, но каждому вызову должен в будущем соответствовать вызов Release .
function
Release(): Boolean

Возвращает ресурс обратно. Возвращает True - если больше никто не использует ресурс, в противном случае False . По результатам возвращения и настройки TfgAssetsManager.Options может быть выгружен из памяти для экономии системных ресурсов (см. ReleaseFromMemory ).

function
IsUsed(): Boolean

Используется ли сейчас ресурс или нет?

procedure
ReleaseFromMemory()

Ресурс может содержать большие данные, которые по ходу использования ресурса могут быть загружены в оперативную память. Например, изображения, шрифты и тд. Если ресурс больше никем не используется, то можно выгрузить из памяти связанные данные при помощи этого метода.

Если данный ресурс используется в компоненте ( IsUsed ), то вызов метода может закончиться повторной загрузкой в память.
procedure
Change()

Уведомляет всех клиентов, что ресурс изменился. Это позволяет клиентам обновить исопльзование ресурса.

procedure
Assign(const AAsset: TfgAsset)

Копирование данных ресурса AAsset .

function
IsEmpty(): Boolean

Есть ли содержимое внутри ресурса или нет. Например, ресурс может существовать, но без изображения.

Свойства

property
Owner: TfgAssetsManager

Менеджер ресурсов, которому принадлежит этот ресурс.

property
UniqueId: string

Уникальный идентификатор ресурса.

Пример: "Theme\Primary\Text-universal-large-tablet"
property
Name: TfgAssetName

Имя ресурса.

Пример: "Theme\Primary\Text"
property
ShortName: string

Возвращает укороченное имя ресурса без учета относительного пути.

Пример: "Text-universal-large-tablet"
property
TargetDeviceDisplayName: string

Возвращает название целевого устройства, на который расчитан данный ресурс.

Пример: "Universal L-Tablet"
property
TargetDeviceId: string

Составной идентификатор класса целевого устройства и платформы.

Пример: "universal-large-tablet"
property
RelativePath: string

Относительный путь к ресурсу.

Используется для дизайнера, чтобы организовать вложенность ресурсов.
property
DeviceClass: TfgDeviceClass

Класс устройств, для которой расчитан ресурс.

property
Platform: TfgPlatform

Тип платформы, для которой расчитан ресурс.

property
Type: TfgAssetType

Возвращает строковое представление типа. Используется для серилизацияя/десерилизации.

Должно быть уникальным среди всех других видов ресурсов. Каждый наследник обязан реализовать абстрактный метод GetType .

Константы

const
FolderSeparator: Char

Описание отсутствует.

const
DefaultPlatform: TfgPlatform

Описание отсутствует.

const
DefaultDeviceClass: TfgDeviceClass

Описание отсутствует.