# widget_pool_t

# 概述

有时需要频繁创建和销毁控件,widget pool把销毁的控件缓存起来,再次使用时直接拿回来用。

  • 优点:速度快,内存碎片少。
  • 缺点:占用一点内存空间。

通过宏WITH_WIDGET_POOL来指定最大缓存控件的数量。

控件可以通过vt->enable_pool参数决定该类控件是否启用缓存。

# 函数

函数名称 说明
widget_pool 获取缺省widget pool对象。
widget_pool_clear_cache 清除全部缓存控件。
widget_pool_count 计算缓存控件个数。
widget_pool_create 创建widget pool对象。
widget_pool_create_widget 创建widget对象。
widget_pool_destroy 清除全部缓存控件并销毁widget pool对象。
widget_pool_destroy_widget 销毁或回收widget对象。
widget_pool_set 设置缺省widget pool对象。

# widget_pool 函数

  • 函数功能:

获取缺省widget pool对象。

  • 函数原型:
widget_pool_t* widget_pool ();
  • 参数说明:
参数 类型 说明
返回值 widget_pool_t* 返回widget pool对象。

# widget_pool_clear_cache 函数

  • 函数功能:

清除全部缓存控件。

  • 函数原型:
ret_t widget_pool_clear_cache (widget_pool_t* pool);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
pool widget_pool_t* widget pool对象。

# widget_pool_count 函数

  • 函数功能:

计算缓存控件个数。

  • 函数原型:
int32_t widget_pool_count (widget_pool_t* pool);
  • 参数说明:
参数 类型 说明
返回值 int32_t 返回缓存控件个数。
pool widget_pool_t* widget pool对象。

# widget_pool_create 函数

  • 函数功能:

创建widget pool对象。

  • 函数原型:
widget_pool_t* widget_pool_create (uint32_t max_cache_nr);
  • 参数说明:
参数 类型 说明
返回值 widget_pool_t* 返回widget pool对象。
max_cache_nr uint32_t 最大缓存对象个数。

# widget_pool_create_widget 函数

  • 函数功能:

创建widget对象。

  • 函数原型:
widget_t widget_pool_create_widget (widget_pool_t* pool, const widget_vtable_t* vt);
  • 参数说明:
参数 类型 说明
返回值 widget_t 返回控件对象。
pool widget_pool_t* widget pool对象。
vt const widget_vtable_t* 控件虚表。

# widget_pool_destroy 函数

  • 函数功能:

清除全部缓存控件并销毁widget pool对象。

  • 函数原型:
ret_t widget_pool_destroy (widget_pool_t* pool);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
pool widget_pool_t* widget pool对象。

# widget_pool_destroy_widget 函数

  • 函数功能:

销毁或回收widget对象。

  • 函数原型:
ret_t widget_pool_destroy_widget (widget_pool_t* pool, widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
pool widget_pool_t* widget pool对象。
widget widget_t* 控件对象。

# widget_pool_set 函数

  • 函数功能:

设置缺省widget pool对象。

  • 函数原型:
ret_t widget_pool_set (widget_pool_t* pool);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
pool widget_pool_t* widget pool对象。