awtk/docs/memory.md

50 lines
1.4 KiB
Markdown
Raw Normal View History

2018-10-04 12:11:47 +08:00
# AWTK内存需求评估指南
假设:
* LCD的宽度为LCD\_W
* LCD的高度为LCD\_H
* LCD的每像素占用的字节数为BPP
## 一、Framebuffer
* 单framebuffer需要LCD\_W * LCD\_H * BPP
* 双framebuffer需要2 * LCD\_W * LCD\_H * BPP
* 三framebuffer需要3 * LCD\_W * LCD\_H * BPP
> STM32F103等低端平台无需Framebuffer故无此内存开销。
>
## 二、窗口动画
如果启用窗口动画需要两个framebuffer大小的内存LCD\_W * LCD\_H * BPP
> STM32F103等低端平台禁用窗口动画故无此内存开销。
## 三、图片解码
* 一般带alpha通道的图片解码后每像素占用4字节。
2018-10-11 14:19:13 +08:00
* 不带alpha通道的图片解码后如果定义WITH\_BITMAP\_BGR565每像素占用2字节否则占用4字节。
2018-10-04 12:11:47 +08:00
> STM32F103等低端平台直接使用位图编译到常量中故无此内存开销。
## 四、输入法
Google拼音输入大概700K。
> STM32F103等低端平台不启用输入法故无此内存开销。
## 五、字体
* 字体文件本身大小。
* 字体图片缓存大小。
> STM32F103等低端平台直接使用位图字体编译到常量中故无此内存开销。
## 六、控件
一般控件占用100B左右(64位系统会多一些)一般复杂度的应用程序控件占用内存的峰值小余100K。
对于低端平台,可以简化界面,关闭后台窗口,以减少内存的需求。