一定时间后延时变长问题

写程序时我们经常用ISHELL_SetTimer()来设置延时,控制一些自动移动的物体,
比如说俄罗斯方块中长条的下降,在模拟器上运行的时候我们会遇到这样的问题,
当一定时间我们没有碰键盘后,移动会变的特别慢,不过再按任何一个键一切又正常了,
这是因为模拟了设备休眠的原因,在BREW SDK中也有提到原因和解决办法

      管理短时计时器和设备睡眠
如果手持设备在固定的持续时间(如 30 秒)内没有键盘活动,则大多数设备将进入睡眠模
式。 睡眠模式有助于节约用电。 当设备处于这种模式时,计时器的使用时间会比实际设置的
持续时间更长。 因此,如果运行 BREW 应用程序时,且在固定时间段内没有任何键盘活动,
则该设备将进入睡眠模式,应用程序设置的任何计时器都将比它的实际持续时间更长。
如果应用程序不接受此状态,并且需要在手持设备进入睡眠模式时也可以设置短时计时器,
则必须使用 EVT_APP_NO_SLEEP 事件。 收到此事件时,应用程序必须返回 TRUE,向
BREW (和设备)指示该应用程序不希望设备进入睡眠模式。
注意: OEM 将决定是否接受此请求。
posted @ 2006-03-27 09:23  MXi4oyu  阅读(154)  评论(0编辑  收藏  举报