AWTK 硬件资源需求评估

一、CPU

CPU的要求与LCD的尺寸关系很大,如果不启用动画,对于320x240x16的LCD,52M的32位CPU应该够用。

目前我们测试过的最低硬件配置是:STM32F103(Cortex-M3内核 CPU 72 MH),更低的CPU只能支持更低尺寸的LCD了。

二、Flash的需求

AWTK基本代码(包括常用控件),在STM32上编译之后大概150K。字体、图片和输入法要看具体的应用了。

一般来说,至少要256K FLASH。

三、内存需求评估指南

假设:

  • LCD的宽度为:LCD_W
  • LCD的高度为:LCD_H
  • LCD的每像素占用的字节数为:BPP

1.Framebuffer

  • 单framebuffer需要:LCD_W LCD_H BPP

  • 双framebuffer需要:2 LCD_W LCD_H * BPP

  • 三framebuffer需要:3 LCD_W LCD_H * BPP

STM32F103等低端平台,无需Framebuffer,故无此内存开销。

2.窗口动画

如果启用窗口动画,需要两个framebuffer大小的内存,即:LCD_W LCD_H BPP

STM32F103等低端平台,禁用窗口动画,故无此内存开销。

3.图片解码

  • 一般带alpha通道的图片解码后,每像素占用4字节。
  • 不带alpha通道的图片解码后,如果定义WITH_BITMAP_BGR565,每像素占用2字节,否则占用4字节。

STM32F103等低端平台,直接使用位图,编译到常量中,故无此内存开销。

4.输入法

Google拼音输入大概700K。

STM32F103等低端平台,不启用输入法,故无此内存开销。

5.字体

  • 字体文件本身大小。
  • 字体图片缓存大小。

STM32F103等低端平台,直接使用位图字体,编译到常量中,故无此内存开销。

6.控件

一般控件占用100B左右(64位系统会多一些),一般复杂度的应用程序,控件占用内存的峰值小余100K。

对于低端平台,可以简化界面,关闭后台窗口,以减少内存的需求。