为 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 的空间。

AWTK flash 空间优化相关推荐

  1. STM32输出1-500KHz任意整数频率脉冲,代码时间空间优化实现误差最小频率输出。

    提示:此文章只是分析了一种优化STM32发送脉冲减少误差的方法实现,由于本人水平有限,该方法并不是最优解,但确是一种比较容易理解的实现方法. STM32输出1-500KHz任意整数频率脉冲,代码时间空 ...

  2. 计算string长度 java_夯实基础:掌握从Java 9+开始的String的空间优化

    作者:稀土掘金 原文:https://juejin.im/post/5aff7f10518825426e0233ea 据我所知 Java 开发人员几乎任何时候都会想到 String,字符串确实已经成为 ...

  3. hdu 6183 线段树的空间优化

    题意: 一个空的坐标系,有④种操作:①1 x y c表示在(x, y)点染上颜色c:②2 X y1 y2表示查询在(1, y1)到(X, y2)范围内有多少种不同的颜色: ③0表示清屏:④3表示程序退 ...

  4. [剑指offer]面试题第[60]题[JAVA][n个骰子的点数][动态规划][空间优化]

    [问题描述][中等] 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s.输入n,打印出s的所有可能的值出现的概率.你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集 ...

  5. 【HDU - 1856】 More is better(并查集)(还需要空间优化。。)

    题干: Mr Wang wants some boys to help him with a project. Because the project is rather complex, the m ...

  6. 递归,递推,记忆化搜索,空间优化(数字三角形)

    题目链接:http://poj.org/problem?id=1163 1.递归思想:第一层到最底层的最优路径可以分解为:第一层到第二层来,再加上第二层的最优路径 状态: Time Limit Exc ...

  7. 名人效应(空间优化)

    名人:所有人都认识名人,名人不认识其他任何人 //由题目可判断出,名人最多只有一个,反证:若存在两个名人,则不符合 法一:穷举   O(n^2) 法二:O(n)    空间:O(n) 思路:若A认识B ...

  8. 动态规划算法之资源分配问题及其空间优化方案

    资源分配问题:某厂根据计划安排,拟将n台相同的设备分配给m个车间,各车间获得这种设备后,可以为国家提供盈利Ci j(i台设备提供给j号车间将得到的利润,1≤i≤n,1≤j≤m).问如何分配,才使国家得 ...

  9. 最长公共子序列(O(n)空间优化、O(nlogn)时间优化)

    普通算法 对于求最长公共子序列,最普遍的就是时间复杂度为O(n^2),空间复杂度为O(n*n)算法.重要的是,若要求出最长公共子序列是什么,则必须使用这一种算法,具体代码如下: int dp[maxn ...

最新文章

  1. Zygote进程启动流程分析
  2. [SOJ1039]Phone Home(深搜,染色问题)
  3. 【活动】PMcaff免费培训之终结版扩招名额----20名额等你来抢
  4. STM32通用定时器(原理、结构体、库函数、定时器中断每秒闪烁一次灯) —— 时钟源、分频值、重装载值
  5. tdd java_Java TDD简介–第1部分
  6. python游戏循环设置_Pygame:游戏循环前的初始菜单
  7. 唯有自己变得强大_唯有自己变得强大,才能获得有用人脉!
  8. 方法大纲_社会工作师(中级)中级实务 考试大纲 附使用方法
  9. 微信公众平台开发中提示“该公众号提供的服务出现故障”问题解决
  10. 用html给图片加像素,更改照片像素和大小
  11. python:实现Diffie-Hellman算法(附完整源码)
  12. Ubuntu安装Times NewRoman字体
  13. c++在csv写入汉字_python-opencv表格识别转csv
  14. 联合主键是什么意思,联合主键怎么创建
  15. labview曲线拟合讲解_LABVIEW简介与曲线拟合应用程序初步设计.pptx
  16. 一套Python入门视频
  17. linux开机自动挂载群晖,群辉开机加载磁盘分区引导脚本
  18. OpenCV DNN模块黑白图片上色修复
  19. 林轩田机器学习技法(Machine Learning Techniques)笔记(三)
  20. 微信视频号+QQ“小世界”,腾讯围剿抖音

热门文章

  1. 5折倒计时!7位大牛讲解如何一天掌握物联网全栈开发
  2. Tencent_机器翻译_文本翻译
  3. 微软 ERP 的定价及其它
  4. 朱元璋、兵马俑到底长啥样?我用AI修复,让古人“活”了起来
  5. [GDG CTF 2022] 几个小题,等WP
  6. 关于用html语言生成word格式文档的视图问题
  7. Arduino使用HM-10蓝牙模块向uniapp小程序推送数据采坑总结
  8. 悟透javscript
  9. 不想当巨婴?暑假期间学点IT技能可好?
  10. CentOS怎么正确安装ag工具