1.CTimer类用RTimer在自定义的时间段之后产生一个事件,使用CTimer比在CActive派生类中使用RTimer方便。
CTimer::After()仅仅调用相关联的RTimer类的After()方法和SetActive()方法,当定时器过期后,调用RunL()方法。
2.继承CTimer时注意的地方
CGameEngine::CGameEngine():CTimer(EPriorityStandard)
{
CActiveScheduler::Add(this);//E32User-CBase 51
}
void CGameEngine::ConstructL()
{
CTimer::ConstructL();
}
void CGameEngine::Start()
{
After(0);//或CTimer::After(),不是调用iTimer.After(),iTimer是CTimer的私有成员
}
3.CTimer有两个子类CPeriodic和CHeartbeat,都可以处理周期性的定时器回调,其中心跳更有规律一些,它的使用也稍麻烦点.
使用CPeriodic,CHeartbeat相比使用CTimer,CActive,不需要实现接口了,只需要在Start的时候提供一个回调函数。但采用继承CTimer的方式,在RunL()中更方便处理成员变量的变化。
4.