黑暗模式
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 管理器的事件源对象开辟的。 |