# 13. 附录三:AWTK 核心模块内存占用表

功能模块 内存占用 备注
小对象内存池 11KB 到 110KB 运行内存小于 100KB 时,内存池占用约 11 KB;
运行内存小于1000KB 时,内存池占用约 50 KB;
其余情况内存池占用约为 110 KB。
系统信息 75B 68B 为 system_info 对象,7B 为默认字体的名称字符串
定时器管理器 32B 32B 为定时器管理器对象,每个定时器占用 104B,定时器结束后释放
idle 管理器 20B 20B 为 idle 管理器对象,每个 idle 占用 72B,idle 结束后释放
默认主题对象 20B 20B 为主题对象,主题数据属于项目资源,另外计算
资源管理器 192B 72B 为资源管理器对象,其中会开辟大小为 30 的动态数组(120B),如果资源个数超过 30 个,内存将增加。
本地化信息管理器 36B 20B 为 locale_info 对象,16B 为事件分发器。
字库管理器 100B 28B 为 font_manager 对象,8B 为长度为 2 的字库动态数组,64B 为注册的释放字库资源的消息事件。每增加一个矢量字库,会增加约 3.2KB 的字库对象,如果是位图字库,就只会增加 64B。
图片管理器 24B 图片被缓存时,缓存动态数组内存变大,同时会创建 bitmap_cache_t 对象(约 84B),以及开辟图片名称字符串(不超过 32B)。
窗口管理器 810B 688B 为缺省窗口管理器对象,7B 为管理器状态,12B 为风格对象,7B 为风格状态,32B 为注册本地信息修改后的消息事件,16B 为全局的事件分发器 ,16B 为 window_manager 对象的事件分发器,32B 为注册窗口管理器销毁后的消息事件。
控件工厂管理器 约 3.3KB 36B 为控件工厂对象,45 * 36B 为基本控件注册对象,37 * 36B 为扩展控件注册对象,368B 为存放控件注册对象的动态数组。
lcd_mem_t 对象 312B 272B 为 lcd_mem_t 对象,两个 20B 分别为 online 和 offline 的 graphic_buffer_t 对象,显存占用不算在内。
native_window 对象 338B 160 为 native_window 对象,44B 为 custom_props 属性大小,120B 为长度为 5 的属性动态数组,14B为增加新的 custom_props 属性名字(字符串)。
消息队列对象 968B 消息队列对象限制了一帧内最多 20 个消息,超过会抛弃后面进来的消息。
事件源管理器 212B 52B 为 event_source_manager 对象,20B 为长度为 5 的存放事件源对象的动态数组,20B 为长度为 5 的临时存放需要分发的事件对象源动态数组,2*60B 分别为封装定时管理器和 idle 管理器的事件源对象开辟的。