画屏问题

allen1986 2009-04-02 07:54:55
代码如下,我是想每执行一次该函数,就先清除背景,再通过调用下面有1,2标号的俩个函数重新画背景,但每当这个函数执行了33次左右时,背景就画不上了,不知道问题出在哪,请高手指点。
void Pop_Player_Display_InitPic()
{
IDisplay_ClearScreen(pPop->pIDisplay);

1 pPop->pIImage=ISHELL_LoadResImage(pPop->pIShell, MYFIRSTAPP_RES_FILE,IDI_POPMUSIC_BG);
2 IIMAGE_Draw(pPop->pIImage,0,0); //media background

if(FALSE==redrawinfo.b_redrawflag)
{
pPop->pIImagePro=ISHELL_LoadResImage(pPop->pIShell, MYFIRSTAPP_RES_FILE,IDI_POPMUSIC_PRO);
IIMAGE_Draw(pPop->pIImagePro,30,135);
pPop->pro_coor_x=30;
pPop->pro_coor_y=135; //player progress

PopMusic_Player_ShowPlayedTime(0); //player time
}
IDISPLAY_Update(pPop->pIDisplay);
return;
}
...全文
1446 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tlb203 的回复:]
ISHELL_LoadResImage加载的图片,需要自己控制释放的。
这段代码中,是不是因为调用次数过多导致内存不足,然后加载图片不成功,然后画不出来了。。。

释放:
if(pPop->pIImage!=NULL) {
    IIMAGE_Release(pPop->pIImage);
    pPop->pIImage = NULL;
}
[/Quote]
应该是这个问题
gridcell 2009-04-02
  • 打赏
  • 举报
回复
ISHELL_LoadResImage加载的图片,需要自己控制释放的。
这段代码中,是不是因为调用次数过多导致内存不足,然后加载图片不成功,然后画不出来了。。。

释放:
if(pPop->pIImage!=NULL) {
IIMAGE_Release(pPop->pIImage);
pPop->pIImage = NULL;
}
hhygcy 2009-04-02
  • 打赏
  • 举报
回复
please invoke IIMAGE_Release (pPop->pIImage);

2,852

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧