forked from enlightenment/efl
docs: Improve documentation on cache-related classes
Also, code comments and typos.
This commit is contained in:
parent
547f8767a9
commit
368db272fd
|
@ -1,13 +1,24 @@
|
||||||
interface @beta Efl.Cached.Item
|
interface @beta Efl.Cached.Item
|
||||||
{
|
{
|
||||||
[[Efl Cached Item interface]]
|
[[Interface for objects which can be cached in memory.
|
||||||
|
|
||||||
|
Since memory is a limited resource, it is interesting to know how much of it an object
|
||||||
|
requires. This interface provides a read-only property for objects to report their
|
||||||
|
memory consumption.
|
||||||
|
|
||||||
|
Keep in mind that this should not only take into account by the object structure
|
||||||
|
itself, but any dynamic memory it might allocate.
|
||||||
|
|
||||||
|
This is used by @Efl.Ui.Caching_Factory, for example, to keep track of the total
|
||||||
|
amount of memory used by the objects the factory creates.
|
||||||
|
]]
|
||||||
methods {
|
methods {
|
||||||
@property memory_size {
|
@property memory_size {
|
||||||
[[The memory size associated with an object.]]
|
[[The amount of memory currently used by this object.]]
|
||||||
get {
|
get {
|
||||||
}
|
}
|
||||||
values {
|
values {
|
||||||
consumed: uint; [[Bytes of memory consumed by this object.]]
|
consumed: uint; [[Bytes of memory.]]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -438,8 +438,8 @@ _efl_ui_caching_factory_pause(void *data, const Efl_Event *event EINA_UNUSED)
|
||||||
Efl_Ui_Caching_Factory_Data *pd = data;
|
Efl_Ui_Caching_Factory_Data *pd = data;
|
||||||
Efl_Gfx_Entity *entity;
|
Efl_Gfx_Entity *entity;
|
||||||
|
|
||||||
// Application is going into background, let's free ressource
|
// Application is going into background, let's free resources.
|
||||||
// Possible improvement would be to delay that by a few second.
|
// Possible improvement would be to delay that by a few seconds.
|
||||||
EINA_LIST_FREE(pd->cache, entity)
|
EINA_LIST_FREE(pd->cache, entity)
|
||||||
efl_del(entity);
|
efl_del(entity);
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
parse efl_app;
|
||||||
|
|
||||||
class @beta Efl.Ui.Caching_Factory extends Efl.Ui.Widget_Factory
|
class @beta Efl.Ui.Caching_Factory extends Efl.Ui.Widget_Factory
|
||||||
{
|
{
|
||||||
[[Efl UI Factory that provides object caching.
|
[[Efl UI Factory that provides object caching.
|
||||||
|
@ -6,14 +8,13 @@ class @beta Efl.Ui.Caching_Factory extends Efl.Ui.Widget_Factory
|
||||||
defined.
|
defined.
|
||||||
This factory will rely on its parent class @Efl.Ui.Widget_Factory for creating the subset of class that match the
|
This factory will rely on its parent class @Efl.Ui.Widget_Factory for creating the subset of class that match the
|
||||||
@Efl.Ui.Widget interface.
|
@Efl.Ui.Widget interface.
|
||||||
The factory will automatically empties the cache when the application goes into pause.
|
The factory will automatically empty the cache when the application goes into the background
|
||||||
|
(@[Efl.App.pause] event).
|
||||||
|
|
||||||
Creating objects is costly and time consuming, keeping a few on hand for when you next will need them helps a lot.
|
Creating objects is costly and time consuming, keeping a few on hand for when you next will need them helps a lot.
|
||||||
This is what this factory caching infrastructure provides. It will create the object from the class defined on it
|
This is what this factory caching infrastructure provides. It will create the object from the class defined on it
|
||||||
and set the parent and the model as needed for all created items. The View has to release the Item using the
|
and set the parent and the model as needed for all created items. The View has to release the Item using the
|
||||||
release function of the Factory interface for all of this to work properly.
|
release function of the Factory interface for all of this to work properly.
|
||||||
|
|
||||||
The cache might decide to flush itself when the application event pause is triggered.
|
|
||||||
]]
|
]]
|
||||||
methods {
|
methods {
|
||||||
@property memory_limit {
|
@property memory_limit {
|
||||||
|
|
Loading…
Reference in New Issue