Touchgfx - 4 - Bitmap Cache

本文详细介绍了Touchgfx中的图片缓存机制,包括配置缓存区、缓存与清理过程,以及如何处理动态图片。在进入屏幕时,会缓存当前所需图片以提高性能。同时,通过创建动态图片数据并正确释放内存,可以实现如二维码显示和控件转图片等功能。
摘要由CSDN通过智能技术生成


图片缓存

当图片资源比较大时,一般可能选择放在不可直接地址访问的外置Flash中,此时就需要使用到图片缓存功能。

配置缓存区

  • 核心文件 TouchGFXHAL.cpp
  • 路径: TouchGFX/target/
void TouchGFXHAL::initialize()
{
    TouchGFXGeneratedHAL::initialize();
    
    uint16_t* cacheStartAddr = (uint16_t*)0x60000000;//内置mapped-flash
    uint32_t cacheSize = 0x2000000;

    touchgfx::Bitmap::removeCache();
    //缓存区开始地址,缓存区大小,动态图片缓存最大数量
    touchgfx::Bitmap::setCache(cacheStartAddr, cacheSize, 256);
    //touchgfx::Bitmap::cacheAll();//如有需要可以直接开始就全部缓存,但会导致启动缓慢
}

缓存与清理

  • Screen1View.cpp
  • 在进入时缓存当前Screen使用到的图片
//缓存指定图片
void Screen1View::mainScreenBitmapCache()
{
  Bitmap::cache(BITMAP_WEATHER_34_ID);
  Bitmap::cache(BITMAP_MAIN_INFO_BACK_ID);
}
//清理
void Screen1View::tearDownScree
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值