Resource Limits and Configuration / 资源上限与配置

PixelUI 用固定容量换取可预测的内存。“满了怎么办”是 API 契约的一部分。

公开配置 默认 影响
PIXELUI_MAX_ANIMATION_COUNT 35 内联动画槽位
PIXELUI_MAX_APP_NUM 11 AppManager 注册数
PIXELUI_MAX_VIEW_DEPTH 8 存活 App 层数和 metadata
PIXELUI_APPLICATION_ARENA_SIZE 4096 B 所有存活 App 共享的存储
PIXELUI_APPLICATION_ARENA_MAX_ALIGNMENT 64 App 最大对齐
PIXELUI_CALLBACK_STORAGE_SIZE 32 B ETL lambda 内联容量
PIXELUI_MAX_ICONVIEW_ITEMS 11 IconView 项数
PIXELUI_MAX_LISTVIEW_SLOT_NUM 30 ListView 固定表
PIXELUI_MAX_LISTVIEW_DEPTH 6 子菜单历史深度
PIXELUI_MAX_POPUP_NUM 3 active + pending Popup
PIXELUI_MAX_ONSCREEN_WIDGET_NUM 6 FocusManager 根节点数
PIXELUI_MAX_INT_FIXED_WIDTH 6 PopupValueDigits 最大位数
PIXELUI_MAX_COROUTINE_NUM 10 CoroutineScheduler 容量

功能开关和字体

PIXELUI_USE_ANIMATIONPIXELUI_USE_POPUPPIXELUI_USE_COROUTINEPIXELUI_USE_FOCUS 决定核心模块是否编译。Popup 还可分别关闭 Info、Progress 和 ValueDigits。

PIXELUI_FONT_TEXT/SMALL/TINY/NUMERIC/CHART 定义组件字体角色。默认正文字体包含 GB2312 字形;不需要中文时,替换它通常能显著减少 flash。

外部配置

可在整个 library 和 firmware 中统一定义 PIXELUI_CONFIG_PATH,指向一份完整配置文件。不能让不同翻译单元看到不同容量或开关,否则会造成 ABI/ODR 问题。

调参顺序

  1. 统计同时存活的 App、动画、Popup 和根 Widget。
  2. 为峰值留余量,同时处理 false/LaunchResult 失败。
  3. 在目标编译器上重新测量 sizeof、对齐和 linker map。
  4. 一次只调整一类容量,比较 .bss/.data 变化。

ViewManager、App arena 和其他 manager 都是 PixelUI 的内联成员。增加上限会直接放大固定 RAM,不需要等对象真正被使用才占用。

最新文章
网站信息
文章数目 :
1
本站访客数 :
本站总浏览量 :
最后更新时间 :