图片缓存
当图片资源比较大时,一般可能选择放在不可直接地址访问的外置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