Skip to content

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

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