FGX.Assets.TfgAsset: различия между версиями
Admin (обсуждение | вклад) (summary) |
Admin (обсуждение | вклад) (summary) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 9: | Строка 9: | ||
Прямые наследники: | Прямые наследники: | ||
− | [[FGX.Assets.BitmapSet.TfgAssetBitmapSet|TfgAssetBitmapSet]], [[FGX.Assets.Color.TfgAssetColor|TfgAssetColor]], [[FGX.Assets.CustomFile.TfgAssetFile|TfgAssetFile]], [[FGX.Assets.Font.TfgAssetFont|TfgAssetFont]] | + | [[FGX.Assets.BitmapSet.TfgAssetBitmapSet|TfgAssetBitmapSet]], [[FGX.Assets.Color.TfgAssetColor|TfgAssetColor]], [[FGX.Assets.CustomFile.TfgAssetFile|TfgAssetFile]], [[FGX.Assets.Font.TfgAssetFont|TfgAssetFont]], [[FGX.Assets.LottieAnimation.TfgAssetLottieAnimation|TfgAssetLottieAnimation]], [[FGX.Assets.Style.TfgAssetStyle|TfgAssetStyle]] |
== Описание == | == Описание == | ||
Строка 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">function</syntaxhighlight> || <code lang="Delphi">Clone(const ANewName: [[TfgAssetName|TfgAssetName]]): [[FGX.Assets.TfgAsset|TfgAsset]]</code> | ||
+ | <p>Возвращает копию текущего ресурса с новым именем <i>ANewName</i> .</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> | ||
|} | |} | ||
Текущая версия на 17:12, 23 декабря 2022
Delphi
TfgAsset = class (TObject)
Прямые наследники: TfgAssetBitmapSet, TfgAssetColor, TfgAssetFile, TfgAssetFont, TfgAssetLottieAnimation, TfgAssetStyle
Содержание
Описание
Базовый класс именованного ресурса.
Конструкторы
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()
Уведомляет всех клиентов, что ресурс изменился. Это позволяет клиентам обновить исопльзование ресурса. |
function
|
Clone(const ANewName: TfgAssetName): TfgAsset
Возвращает копию текущего ресурса с новым именем ANewName . |
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
Описание отсутствует. |