状态机定义
有限状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。
状态机他解决的问题是,在一个系统(比如电梯),系统运行时有多个状态,在状态、事件间切换。
另外一个方面是状态之间的层级关系,如果电梯上行,必须先检查是否关门,如果没有,那么发送关门信息。
下图是短信发送状态机的结构图:
在这个图中,默认状态是全局父状态,它下面的子状态分别是,启动状态、空闲状态、传输状态;传输状态的子状态是等待状态。下面详细说明各状态所作的事情。
默认状态:当本状态接受到EVENT_UPDATE_PHONE_OBJECT消息后,更新Phone对象(onUpdatePhoneObject((Phone) msg.obj););
启动状态:当消息EVENT_NEW_SMS、EVENT_INJECT_SMS、EVENT_BROADCAST_SMS将他们存储到状态机消息队列中,让其他状态去处理,最终会交