您好,登录后才能下订单哦!
本篇内容主要讲解“android中状态的概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“android中状态的概念是什么”吧!
1、状态
状态对状态机行为执行过程中的某个情况建模,在这个情况下,某些条件维持不变。在大多数情况下,这个条件不是被明确定义,而是通过与状态关联的名称来隐式定义的。例如在对电话单元建模的图14.36中,状态idel和Active分别表现的是电话没有被使用和正在被使用。这个例子也说明了一个事实:状态没有必要表现完全静态的情况,因为很显然,某些细节活动发生在“Activie”状态上下文中。但是对于包含所有活动的整个期间,电话都维持在使用(即:Active)状态。
2、状态的种类
状态被分为下面几种:
· simple State (isSimple = true)
简单状态(isSimple为真)
· composite State (isComposite = true)
组合状态(isComposite为真)
· submachine State (isSubmachineState = true)
子状态机状态(isSubmachineState为真)
简单状态没有内部的顶点和迁移。组合状态至少包含一个区域,然而子状态机状态引用一个完整的状态机,这个状态机在概念上可以看作是被嵌入了该状态。组合状态要么是只包含一个区域的简单组合状态,要么是含有多个区域(isOrghogonal为真)的正交状态。例如在图14.9中,“CourseAttempt”是一个包含单独区域的简单状态的例子。而“Studying”状态则是一个包含三个区域的组合状态。
被封装在组合状态区域内部的状态被成为组合状态的子状态。如果没有被其他的状态包含,那么就称之为直接子状态;否则就作为间接子状态被引用。
3、状态配置
通常,状态机可以有多个区域,每个区域都可以包含自己的状态,某些区域可以由它们拥有的多个区域组成,等等。因此,执行中的状态机实例的某个"状态"可以表现为一个或多个层级的状态。从状态机的最上层区域开始,向下穿过组合层级到简单,或者说叶子状态。类似地,我们可以在一个组合状态中在讨论一个子状态层级结构。这个复杂的状态层级被作为一个(状态或状态机的)状态构成。例如图14.9中描述的状态机执行的一个有效的状态构成是<CourseAttempt - Studying – (Studying::Lab2, Studying::TermProject, Studying::FinalTest)>。一个执行中的状态机实例在一个时刻只能拥有唯一一个状态构成,它被称为活动状态构成。状态机的执行被表现为从一个状态构成到另一个状态构成的迁移,而迁移是在与状态机迁移条件匹配的事件发生时进行的。
如果一个状态是活动状态构成的一部分,就可以说它是活动的。
下列情况下可以说状态构成是稳定的:
不存在有效的,源自该状态构成的进一步的迁移,而且
这个状态构成的所有存在的入口行为都已经结束(但是该状态构成的doActivity行为不必结束,它可能定义为持续执行)。
当状态机被创建而且初始迁移结束后,它总是处于某种状态构成。然而,由于状态是有层次的而且因为可以有行为关联到迁移和状态,“进入”一个分层的状态构成包含一个动态过程,这个动态过程只有在到达某个稳定状态构成(定义如上)时才结束。状态机处于一个状态构成中的某个具体状态,会有某些潜在的歧义。关于什么时候状态机可以被看作是处于某个状态,什么时候可以看作''离开"了某个状态的规则,将会在后面的“进入一个状态”和“离开一个状态”部分分别讨论。
即使状态机的事件池中存在延期,完成或者其他种类的事件等待处理,状态构成还是可以被看成是稳定的。
到此,相信大家对“android中状态的概念是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。