Android的组件设计与状态机

状态机:
百度百科定义:包含一组状态集(states)、一个起始状态(start state)、一组输入符号集(alphabet)、
一个映射输入符号和当前状态到下一状态的转换函数(transition function)的计算模型。
当输入符号串,模型随即进入起始状态。它要改变到新的状态,依赖于转换函数。在有限状态
机中,会有有许多变量,例如,状态 机有很多与动作(actions)转换(Mealy机)或状态(摩尔
机)关联的动作,多重起始状态,基于没有输入符号的转换,或者指定符号和状态(非定有 限
状态机)的多个转换,指派给接收状态(识别者)的一个或多个状态,等等

对于Android的组件设计理解:
如Activity、service等,都有几个状态,
如:
经过Oncreate()方法后,对象Activity被创立
经过Onstart()方法后这里可能是启动相应的硬件,
经过Onresume()方法后,让Activity得以显示,
经过Onpause()方法后, 让Activity不可见,但实际还存在于内存中
经过Onstop()方法后,Activity不在运行
经过Onrestart()方法后,让Activity得以从现
经过Ondestory()方法后,Activity生命终结

这里可以将Activity的各个状态定为状态集,而各个方法是转换函数,创建Activity时是开始,

Activity生命终结是结束,输入符合集可理解为用户的操作集合,如:点击返回等

状态:

在统一过程中这样定义:

状态被赋予四个特定的事件,

1、entry     入口,对象进入激活状态是执行的动作

2、do        执行的行为,对象保持不变时执行的动作

3、event   事件、事件行为 对象接受到某个事件时执行的动作,这种动作不会导致对象状态的变化

4、exit      退出行为,指状态在退出时执行的动作


想法来源:
统一过程中的状态图:他描述的是一个实体的生命周期,途中会经过很多的操作,当用户
离开时,该对象的生命周期结束,这就类似于状态机,对于这样的想法是因为看了Android的
Activity的设计中有个状态流程图,跟这个类似,而这样更利于理解为什么在Android的
组件设计中,会有如此多的状态转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值