AWTK flash 空間優化

爲 512K Flash 優化空間

背景

  • 缺省情況下,demo1 在 STMF103 上的空間佔用情況如下。
Program Size: Code=222780 RO-data=232212 RW-data=720 ZI-data=53440  

對於只用 512K Flash 的平臺來說,給應用程序留下的空間就比較少了,這裏介紹一下進一步優化空間方法:

AWTK 優化

    1. 將編譯器的優化級別提高一級 (O1):

可以優化掉 30K 左右的空間:

Program Size: Code=193658 RO-data=232214 RW-data=720 ZI-data=53440  
    1. 去掉 Unicode 換行算法的支持。

修改 awtk_config.h 文件,去掉 WITH_UNICODE_BREAK 的定義。

//#define WITH_UNICODE_BREAK 1

可以優化掉 50K 左右的空間:

Program Size: Code=190338 RO-data=186674 RW-data=400 ZI-data=53440  
    1. 去掉不必要的 bitmap 格式

對於 BGR565 格式的 LCD,修改 awtk_config.h 文件,增加下面的宏定義

/**
 * 對於只有 512K flash 的平臺,而且 LCD 格式是 BGR565。如果希望進一步優化空間,去掉多餘的 bitmap 格式支持代碼。請定義本宏。
 * 其它 LCD 格式,可以自行修改:src/blend/soft_g2d.c 保留需要的格式即可。
 *
 */
#define LCD_BGR565_LITE 1

可以優化掉 30K 左右的空間:

Program Size: Code=163602 RO-data=186498 RW-data=400 ZI-data=53440  
    1. 將編譯器的優化級別提高一級 (O2):

可以優化掉 10K 左右的空間:

Program Size: Code=149510 RO-data=186494 RW-data=400 ZI-data=53440  
    1. 去掉不需要的控件:

最多可以優化掉 20K 左右的空間

APP 優化

  • 設計界面時不要使用 inline 樣式。使用共享樣式,可以減少 RAM 和 Flash 的空間。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章