移动应用上的页面的自动生存期管理的制作方法

文档序号:6378268阅读:202来源:国知局
专利名称:移动应用上的页面的自动生存期管理的制作方法
技术领域
本发明涉及移动应用,尤其涉及移动应用上的页面的自动生存期管理。
背景技术
移动设备当前被广泛应用。移动设备包括诸如蜂窝电话、智能电话、个人数字助理、多媒体播放器、其它手持和掌上设备,以及平板或输入板计算机等等。在移动设备中,常常致力于电池寿命的节省。一种致力于电池寿命节省的方法涉及对在移动设备上打开的应用的管理。具体而言,生存期管理发生在这样的场景其中用户打开了应用但随后导航离开那个应用但没有在导航离开之前明确地或显式地关闭该应用。例如,用户可能打开了消费者关系管理应用,并接着立即通过打开另一个应用(诸如联系人列表目录)而导航离开那个应用。当用户导航离开消费者关系管理应用时,操作系统可以以不同方式处理用户导航所离开的应用的生存期管理。归因于电池生存期和存储器管理问题,一些操作系统可能已经简单地销毁最初应用(或将其关闭)。然而,这可能呈现多个问题。例如,当用户最后导航回该应用,并且操作系统重新启动该应用时,那么整个用户界面信息(诸如显示在应用的页面上的控件值)丢失。换言之,当用户最初打开应用时,用户可能已经将用户界面状态信息或控件值输入了各控件。这样的值可以包括,例如,选中或者不选复选框、配置单选按钮、滚动到可滚动列表的特定点,等等。当用户随后导航离开该程序,操作系统可能简单地销毁该应用。那么,当用户随后导航回该应用时,即使操作系统在那时重新启动该应用,全部的用户界面控件状态和值以及所显示的页面的其它用户界面状态信息丢失。因此,因此用户不能以与他们离开应用时完全相同的状态回到应用。这没有留给用户无缝体验并需要用户导航回应用的相同位置并重新输入全部所需的控件值和状态信息,这是不希望的和麻烦的。提供以上讨论仅用作一般的背景信息,并不旨在帮助确定所要求保护的主题的范围。

发明内容
当用户导航回应用时在页面上还原页面状态信息(诸如界面控件值)的方法是在应用的每页上写入事件驱动的逻辑。那么,当用户导航离开该应用时,每页上的控件状态和值被储存,使得当用户导航回那个应用时它们可以还原(或再水合(rehydrate))到控件。然而,这可能产生大的测试成本。质量保证人员通常测试每页上的每个控件以确保它们正确行动。因此,如果用于保存控件值的受控的关闭和重启过程被编码到应用的每页中,开发者必须在每页上测试逻辑以确保控件被正确地储存并复苏。在本说明书中,储存用户界面状态(UI)信息(诸如UI控件状态信息和值)并在用户导航并返回应用时使其复苏。该功能被结合到应用中,而非结合到为应用的每页编写的代码中。在页面的实例被创建时,该页面向墓碑列表(tombstone list)登记其想要埋葬(tombstone)的控件,以指示该页面上的哪个页面状态信息要在用户导航离开时储存并在用户返回该应用时复苏。当用户提供指示导航离开该应用的输入时,应用访问墓碑列表,并储存存在于被称为墓碑的数据结构内的埋葬列表中的每个控件的状态相关信息。基于正被埋葬的控件的类型来创建墓碑。墓碑内的全部这些n页面状态信息被储存在对应于页面的当前实例的页面状态词典数据结构中。然后,当用户导航回该应用时,应用访问页面状态词典,并从页面状态词典内的墓碑还原UI页面状态信息的值,使得用户界面以与用户导航离开该应用时相同的状态显示。提供本发明内容以便以简化形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。所要求保护的主题不限于解决在背景中提及的任何或所有缺点的实现。


图1是一个说明性移动设备的框图。图1A示出了一应用页面上的多个控件的示例。图2示出了墓碑列表的一个实施例。图3是示出图1所示系统的操作的一个实施例的流程图,用于在用户导航离开应用时储存用户界面状态信息。图4示出了状态词典中的条目的一个实施例。图5是示出图1所示系统的操作的一个实施例的流程图,用于在用户导航返回应用时复苏用户界面。图6是用于在应用中生成指定页面的类图的一个实施例。图7 — 9不出了移动设备的各实施例。图10是可使用的一个说明性计算环境的框图。
具体实施例方式图1是移动设备10的框图,移动设备10被示为直接或通过网络12连接到客户关系管理(CRM)系统14。在图1所示的实施例中,移动设备10具有储存其上的应用16,其本身包括埋葬/再水合组件17、构造器22和墓碑列表28。应用16将作为CRM应用被讨论,但是它也可以是任何其它想要的应用。也将注意,应用16可位于CRM系统14上,通过网络12提供对其的访问。在那个实施例中,使用云计算体系结构,应用16对于移动设备10而言是可访问的。然而,为了呈现的目的,示例性描述,应用16驻留在移动设备10上。图1还示出了,移动设备10说明性地包括操作系统18、用户界面组件20,以及包括页堆栈24和实例专用页面状态词典26的多个不同数据存储。图1还示出了移动设备10说明性地包括不同于应用16的至少一个其它应用30。在一个说明性实施例中,应用16生成用户界面显示页面,使用用户界面组件20将用户界面显示页面显示给用户32。图7 — 9示出了移动设备10使用用于生成用户界面显示的不同的机制的各种实施例。现在完全可以说,用户界面显示可在显示屏上、触敏显示屏上,或任何其它类型的显示屏上生成。用户界面组件20还说明性地包括通过它用户32可通过用户界面显示上的图形用户界面元素(或控制元素)输入信息的机制。例如,用户32可通过小键盘、通过触摸屏上生成的软键区显示、通过使用定点和点击设备在用户界面元素上移动光标并选择它们并输入想要的信息、使用其它按钮或致动器或触敏键,来说明性地提供信息。在任何情况中,应用16说明性地生成用户界面显示页面,诸如图1A中所示的显示页面34。页面34包括多个不同控件,诸如控件36、38,和40。在图1A所示的实施例中,控件36是允许用户通过点击位于接近想要的选项的圆圈来选择选项之一的单选按钮(图1A中所示的示例中,选项是“是”和“否”)。控件38是用户可在其中滚动的元素列表。用户可接着致动用户界面元素以便选择列表38中的项之一。控件40是允许用户选中或不选一框以提供输入信息的复选框。当然,也可以使用各种各样的其它控件,诸如下拉菜单、文本框等。类似地,除了仅仅是生成在页面34上的每个控件36 - 40的值,页面34具有与其相关联的其它用户界面状态信息。例如,页面可在其中具有能够被用户(诸如通过将光标放置在那些元素之上,或以其它方式)特别关注的特定项。因此,关注信息(页面34中被关注的特定区域)也是可以与页面34相关联的用户界面状态信息。因此,与页面34相关联的用户界面状态信息是定义与其上的每个控件相关联的值的全部信息,或定义显示在页面34上的用户界面元素的状态的其它信息。当应用16使用用户界面组件20生成页面34并且用户32将各值输入控件36 —40时,可能发生用户希望启动另一应用并且不关闭应用16而导航到新启动的应用。例如,可能发生应用16是示出与各顾客相关联的销售对象的CRM应用。当用户正在使用那个应用时,用户可能希望瞬间启动并导航到应用30,应用30可以是分开的应用。然而,用户可能不希望关闭应用16,因为用户可能想要导航回应用16。当那发生时,在用户导航离开应用16时,应用16 (以及具体而言组件17)保存(或埋葬)页面34 (和应用16中打开的其它页面)的用户界面状态信息,使得那些页面可以被还原(或再水合)到它们曾存在于其中的相同状态。图3示出了执行这个功能的移动设备10的操作的一个实施例。图3示出了移动设备10上的操作系统18首先接收指示它要启动诸如应用16的应用的用户输入。这可以仅仅包括用户致动对应于应用16的图标以启动该应用。接收输入以启动应用由图3中框42指示。当应用16被启动时,它创建使用用户界面组件20向用户32显示的页面的实例。这由图3的框44指示。所创建的页面的实例具有内置功能(诸如埋葬/再水合组件17),以埋葬并再水合被登记用于埋葬的控件。尽管图1中仅示出一个构造器22,在一个实施例中,应用16中的每页具有其自己的构造器22。在调用页面构造器22时,其启动埋葬列表28。该埋葬列表保存在应用内的存储器中,并被用于标识页面上要被埋葬或再水合的控件。例如,应用16说明性地维持用于在那些页面的用户界面显示上标识页面和控件(或其它UI页面状态信息)的墓碑列表,那些页面和控件将在用户导航离开该应用时被储存,使得当用户导航回该应用时可被复苏。图4示出了墓碑列表28的一个实施例。墓碑列表28对于应用内的每页是特定的,并且因此没有明确地包括页面标识符部分。列表28说明性地包括控件标识符部分48,其在要被储存和复苏的页上标识特定控件(或其它UI页面状态信息)。例如,控件标识符部分48可说明性地标识图1A所示的页面34的个体控件36 — 40的类型和身份。
在一个实施例中,墓碑列表28仅包含要为给定页面埋葬的控件。如果在页面上呈现了像静态标记那样不需要被埋葬的控件,那么它可不被包括在列表中用以埋葬。如果页面上有多于一个的需要被埋葬的相同类型的控件,那么使用控件标识符来唯一地标识它们。例如,如果单选按钮36要被埋葬,那么在页面34上有多于一个的单选按钮的情况下,控件标识符48将把控件36标识为单选按钮并且具有特定标识符。通过具有用于埋葬的列表,应用能够指示在页面34的这个实例上的单选按钮36的状态是要在用户导航离开应用16的情况下被储存,使得它在用户导航回到应用16时可复苏。使得所创建的页面34用其构造器22登记列表使得要被埋葬的特定控件的身份被储存在墓碑列表28中由图3的框56指示。一旦页面34被应用16显示,并且一旦它被登记在列表28中,可发生多个将影响埋葬操作的控件的事情。例如,用户可能简单地从页面34导航离开到应用16内的另一页。在那个情况下,操作系统18或应用16向页面34传播事件,诸如OnNavigatedFromO (导航离开)事件。在另一情形中,操作系统18可接收用户输入,至少用户希望启动另一应用,例如应用30,而不关闭应用16。在那个情况下,操作系统18向应用16发送应用停用消息(图1所示项60)。在两种情况下(页面34接收用户正导航离开它但仍在应用16内的指示,或操作系统指示应用16要被停用),构造器22已经访问了页面34的这个特定实例的墓碑列表28,以标识这页的要被埋葬(储存用于复苏)的控件列表或其它UI状态信息,并且从列表28选择那些信息项(控件或UI页面状态信息的另一项)之一。接收用户正导航到不同应用或不同页面的指示,并访问墓碑列表28由图3的框62和64指示。当为控件调用埋葬/再水合组件17 (例如,保留控件状态的代码)时,它标识所选控件的状态(或其它n页面状态信息),并创建能够储存控件类型的全部相关信息的数据结构,并将其储存在实例专用页面状态词典26中。应当注意,在一实施例中,每页的实例专用页面状态词典由操作系统18维持。与每个应用页面相关联的页面状态词典26包括数据结构,该数据结构对应于在应用16中的已经被打开并且已经被导航离开的给定页面上的被登记用于埋葬的每个控件。词典26中的数据结构还说明性地包括控件标识符和值部分,其中控件标识符标识对应页面上(并且登记在列表28中)的每个控件,值部分标识与那些控件的每个相关联的值。图4示出了页面状态词典数据结构26的一个实施例。可以看到,数据结构26包括控件标识符48,其可以与上面结合列表28描述的那些相同。其标识为每个控件保存的特定n状态信息。数据结构26还说明性地包括控件值部分50,每一个控件值部分对应于控件标识符部分48之一。控件值部分50储存指示由控件标识符部分48所标识的控件36 —40的每一个的状态的值。例如,如果一个控件标识符部分48在页面34上标识单选按钮控件36,那么与那个控件相关联的控件值部分50将具有值“否”,指示用户已经在单选按钮36中选择了 “否”选项。为页面34上的每个控件储存这个信息,在用户导航离开并且然后返回当前应用的情况下,应用16希望复苏这个信息。当然,数据结构26可包括对应于页面34的应用16同样希望还原的其它n状态信息。此外,可能有多于一个的与每个控件相关联的控件值。通过储存登记在用于埋葬的列表中一个或其它控件,可捕捉全部其它n状态信肩、O
为将信息保存到数据结构26,埋葬/再水合组件17获得页面34上的每个登记在列表28中的控件的值,并将其连同其对应的控件标识符储存在数据结构26中,其进一步储存在页面状态词典中。这由图3的框66指示。一旦全部的控件被指定在列表中用于埋葬,埋葬/再水合组件17被调用。接着确定这页(例如页面34)上是否没有更多控件要被储存,并且若是,进程回退到框64。组件17从列表28中标识对其需要保存值的其余控件,并将那些控件值保存到页面34的当前实例的实例专用页面状态词典26。这由图3的框68指示。处理以此方式继续,直到例如该页面34的被登记在列表28中的全部UI页面状态信息,已经被储存在该页面的实例专用页面状态词典数据结构26中。一旦这完成了,全部需要的n状态信息已经被储存使得如果用户希望导航回这个页面它可被还原到这个页面。图5示出流程图的一个实施例,该流程图指示在导航离开那个页面之后当用户希望导航回到它时,应用16和埋葬/再水合组件17如何复苏给定页面34的n状态信息。首先,操作系统18通过用户界面组件20说明性地接收来自用户32的输入,指示用户希望导航回应用16的页面34。例如,当用户已经导航到应用30,并且用户现在击了返回按钮,或关闭应用30,操作系统18接着向应用16发送“应用激活”消息70,指示它正被重新激活。操作系统18说明性地保存被用户打开并导航离开但还没有关闭的页面的页堆栈24。这样,基于用户输入,操作系统18知晓导航去哪页,并从页堆栈24取回那个页面。接收用户输入并导航到想要的页面由图5的框72和74指示。当用户导航回页面34时,该页面接收可表示此的事件。例如,页面可接收“OnNavigatedTo () ”(导航去往)事件,指示用户32已经导航到页面34。在这一点上,页面34不知晓用户是否仅仅从应用16内导航回到该页面,或用户是否已经同时离开应用16,并且该页面已被埋葬(储存用于复苏)。页的构造器22和继承的埋葬/再水合组件17被用来确定它是否已经被埋葬。如果用户已经离开应用16 (而且页面34因此未被埋葬),那么用户界面状态信息已经被自动维持且无需做什么。如框78所指示,应用16仅仅显示想要的页面。如果用户已经从应用16导航离开,那么页面34已经被埋葬,并且在将n页面状态信息展示给用户之前,UI页面状态信息需要被还原到用户界面页面。作出这个决定由图5的框76指示。如果,在框76,确定了页面34被埋葬,然后访问用于埋葬的列表,并且接着从实例专用页面状态词典26拉取出对应于页面34的这个示例的控件的数据结构,并且接着它们被再水合。回想起使用被埋葬的控件的标识符来标识数据结构,并且其包含用户界面值以及对应于那个控件的状态信息。因此,埋葬/再水合组件17访问页面34的这个实例的页面状态词典并选择控件之一来复苏。这由图5的框80指示。组件17接着提取所选控件的用户界面状态信息,并将那个值还原到页面34上的控件,用以显示给用户。这由框82指示。组件17接着确定,页面34是否还有控件需要被还原(或其它n页面状态信息)。这通过简单地遍历登记用于埋葬的控件的列表完成。这由框84指示。如果是,进程在框80继续,在那里选择下一个控件,并且在框82,在那里对应于那个控件的用户界面状态信息被还原到页面34的显示。然而,如果,组件17已经从页面状态词典26还原当前页面的全部的值,那么该页面仅被显示如框78所指示的那样。应当注意,在使用中,用户可能已经导航到深入应用16内多个页面的层级。每次用户导航离开那些页面之一到深入应用16内的下一个层级的页面,回想起页面接收"OnNavigatedFromO ”事件并将UI页面状态信息的值储存在页面状态词典26中,如图3框62 - 68所示。因此,即使用户接着导航离开应用16并返回应用16,并且接着回头向上导航多个层级至应用16内的不同页面,对应于那个页面堆栈的全部的UI页面状态信息被储存在每个页面26的不同页面状态词典中,其中数据结构之一对应于页面上登记用来埋葬的那些控件的每一个。作为示例,如果用户深入应用16三级(在页面34上)并导航到应用30并接着返回应用16,用户将看见其显示了和用户离开时相同的UI状态信息的页面34。接着,如果用户向上导航一个层级(仍然在应用16内),则该层级的页面将被以与上面结合图5所描述的相同的方式还原,使得用户将看见具有全部的与用户最初导航离开那个页面时相同的n状态信息的那个页面。无论用户已经导航到深入应用16中多少层级,这可以继续。
图6是示出可以被采用以储存和复苏页面的实体的类图90的一个说明性实施例。在图6所示的实施例中,类图90包括基类PhoneApplicationPage (电话应用页面)92。类图90还示出从PhoneApplicationPage92中导出的与给定应用相关的PhoneApplicationPage92的专用子类。在图6所示的实施例中,因为应用16说明性地是 CRM 应用,从 PhoneApplicationPage92 中导出 CrmPhoneApplicationPage(顾客关系管理电话应用页面)94,并因此包括PhoneApplicationPage92的全部功能。CrmPhoneApplicationPage94具有,与其相关联的,埋葬实用程序实体96。CrmPhoneApplicationPage还包括一些埋葬事件处理逻辑。该逻辑主要走查登记用于埋葬的控件的列表,并从埋葬实用程序96调用应用程序编程接口以埋葬或再水合控件。上面讨论的用于储存和复苏页面的功能可通过访问埋葬实用程序实体96来执行。然而,从CrmPhoneAppli cat ionPage创建的页面不需要知晓关于这些实用程序。一旦控件被登记用于在构造器中埋葬,CrmPhoneAppli cat ionPage中的逻辑顾及埋葬和再水合的处理。图6还示出了多个指定页面类98、100和102,其示出应用16的全部指定页面从CrmPhoneApplicationPage94 导出。在一个不例性实施例中,CrmPhoneApplicationPage94包括用于储存和重建页面98 - 102的全部逻辑(通过其与埋葬实用程序96相关联),并且因此全部的页面98 - 102也包括这个逻辑。因此,储存和重建页面98 - 102所需的逻辑,当用户导航离开和返回应用16时,已经在页面98 — 102内。埋葬实用程序96说明性地保留并还原每个控件的状态。S卩,CrmPhoneApplicationPage94访问这些实用程序,以便走查控件的列表28 (页面98 - 102已经向该列表28登记,并将值储存在与每个页面相关联的页面状态词典26中),并接着在用户导航回应用16且到指定页面时还原每个用户界面状态的值。这比在每个单独的页面上编码逻辑有利。这可以极大地减少检测花费和时间。例如,开发者或设计者仅需要检查超类CrmPhoneApp Ii cat ionPage或埋葬实用程序实体96中的功能,并且不需要在每页98 - 102上测试它。如果该功能在超类或实用程序类上可用,它将在从中导出的全部页上可用。图7是手持或移动计算设备10的说明性实施例的简化了的框图,其中可部署当前系统。图8和9是手持设备的不例。
图7提供了运行或访问CRM应用16的设备10的组件的通用框图。在设备10中,提供了通信链路13,该通信链路允许手持设备与其它计算设备通信并且在一些实施例中提供用于诸如通过扫描来自动接收信息的信道。通信链路13的示例包括红外端口、串行/USB端口、诸如以太网端口之类的电缆网络端口、以及允许通过一个或多个通信协议的通信的无线网络端口,所述通信协议包括通用分组无线服务(GPRS)、lXrtt、短消息服务(这些协议是用于提供对网络的蜂窝访问的无线服务)以及802. 11和802.1lb (WiFi)协议、和蓝牙协议(这些协议提供对网络的无线连接)。根据其他实施例,应用16 (或任何其它应用)在连接到SD卡接口 15的可移动安全数字(SD)卡上接收。SD卡接口 15和通信链路13沿总线19与处理器11进行通信,该总线19还连接到存储器21和输入/输出(I/O)组件23、以及时钟25和位置系统27。在一个实施例中,提供了 I/O组件23以便于输入和输出操作。针对设备10的各个实施例的I/O组件23可以包括输入组件,诸如按钮、触摸传感器、触摸屏幕、邻近度传感器、话筒、倾斜传感器以及重力开关;以及输出组件,诸如显示设备26、扬声器和或打印机端口。也可以使用其他I/O组件23。时钟25说明性地包括输出时间和日期的真实时间时钟组件。时钟还可以说明性地为处理器11提供定时功能。位置系统27说明性地包括输出设备18的当前地理位置的组件。这例如可以包括全球定位系统(GPS)接收机、LORAN系统、航位推算系统、蜂窝三角测量系统、或者其他定位系统。这例如还可以包括生成所期望的地图、导航线路和其他地理功能的测绘软件或导航软件。存储器21储存操作系统29、网络设置31、应用33 (其可包括应用16和30)、应用配置设置35、注册表37、通信驱动程序39、通信配置设置41、列表28和词典16。存储器21可以包括所有类型的有形易失性和非易失性计算机可读存储器设备。存储器21存储计算机可读指令,所述指令在被处理器11执行时致使处理器根据所述指令执行计算机实现的步骤或功能。客户CRM系统24例如可驻留在存储器21中。网络设定31的示例包括诸如代理信息、因特网连接信息以及测绘之类的东西。应用配置设定35包括为特定企业或用户定制应用的设定。通信配置设定41提供了用于与其他计算机进行通信的参数,并且包括诸如GPRS参数、SMS参数、连接用户名和口令之类的项目。应用33可以是之前已被储存在设备10上的应用或在使用期间安装的应用。在一个实施例中,应用33包括联系人或电话本应用43、应用16和应用30,尽管这些的部分可以是操作系统29的一部分或也可以被托管于设备10的外部。图8和9提供了可以被用作设备10的手持设备的示例,但是也可以使用其他设备。在图8,提供智能电话或移动电话45作为设备10。电话45包括用于拨打电话号码的一组小键盘47 ;能够显示包括应用图像、图标、网页(例如页面34)、照片和视频在内的图像的显示器49;以及用于选择显示器所示项目的控件按钮71。电话包括天线53以用于接收诸如通用分组无线服务(GPRS)和IXrtt以及短消息服务(SMS)信号之类的蜂窝电话信号。在一些实施例中,电话45还包括容纳安全数字(SD)卡57的SD卡槽55。图9的设备是个人数字助理(PAD) 59,它也可以是平板或板式计算设备或媒体播放器(此处统称PDA59)。PDA 59包括电感屏61,所述电感屏感测指示笔63(或其他指示器、诸如用户的手指)在该指示笔被置于该屏幕之上时的位置。这允许用户在屏幕上选中、突出显示和移动项目以及绘图和书写。PDA59还包括多个用户输入键或按钮(比如按钮65),其允许用户滚动通过显示器61上所显示的菜单选项或其他显示选项,并且允许用户在没有接触显示器61的情况下改变应用或选择用户输入功能。尽管未被示出,但是PDA 59可以包括允许与其他计算机进行无线通信的内置天线和红外发射机/接收机、以及允许对其他计算设备的硬件连接的连接端口。这样的硬件连接通常是通过经由串行或USB端口连接到其他计算机的支架来进行的。因此,这些连接是非网络连接。在一个实施例中,PDA59还包括容纳SD卡69的SD卡槽67。注意,设备10的其他形式是可能的。示例包括平板或板式计算机、音乐或视频播放器,以及其他手持或移动计算设备。也将注意到,如图1所示,应用16以及相关联的存储器和功能可驻留在除客户机设备10以外的其它地方。尽管图1的实施例示出应用16驻留在客户机设备10上,该系统也可被实现在其它地方,诸如实现在云计算环境中。云计算提供了不要求最终用户知晓交付服务的系统的物理位置或配置的计算、软件、数据访问和存储服务。在各个实施例中,云计算通过诸如因特网之类的广域网使用合适的协议交付服务。例如,云计算提供者通过广域网交付应用,并且它们可以通过web浏览器或任何其他计算组件被访问。业务软件(诸如应用16的某些组件)以及相应的数据,可被储存在远程位置处的服务器上。云计算环境中的计算资源可以在远程数据中心位置处被整合或者它们可以被分散。云计算基础结构可以通过共享数据中心交付服务,即使它们在用户看来是单个访问点。因此,在此所述的功能可以使用云计算架构从远程位置处的服务提供者提供。或者,它们可以从常规的服务器提供,或者它们可以直接地安装在客户机设备18上。图10是其中使用本发明的计算环境的一个实施例。例如,系统10或系统14的组件可在这个或另一个环境中实现。参考图10,用于实现一些实施例的示例性系统包括计算机610形式的通用计算设备。计算机610的组件可包括,但不限于,处理单元620、系统存储器630、以及将包括系统存储器的各种系统组件耦合到处理单元621的系统总线620。系统总线621可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA (EISA)总线、视频电子标准协会(VESA)局部总线,以及也称为夹层(Mezzanine)总线的外围部件互连(PCI)总线。计算机610通常包括各种计算机可读介质。计算机可读介质可以是能被计算机610访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和非易失性、硬件、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于储存所需信息且可以由计算机610访问的任何其它介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语已调制数据信号摂是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。以上的任何组合也应包括在计算机可读介质的范围内。系统存储器630可被用于图1所示的各数据存储,或它们可被实现在其它地方。系统存储器630包括形式为易失性和/或非易失性存储器的计算机存储介质,譬如只读存储器(ROM)631和随机存取存储器(RAM)632。包含诸如在启动期间帮助在计算机610内的元件之间传输信息的基本例程的基本输入/输出系统633 (BIOS)通常储存在ROM 631中。RAM 632通常包含处理单元620可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图10示出了操作系统634、应用程序635、其他程序模块636和程序数据 637。计算机610还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图10示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器641,从可移动、非易失性磁盘652中读取或向其写入的磁盘驱动器651,以及从诸如⑶ROM或其他光学介质等可移动、非易失性光盘656中读取或向其写入的光盘驱动器655。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器641通常通过诸如接口 640之类的不可移动存储器接口连接到系统总线621,并且磁盘驱动器651和光盘驱动器655通常通过诸如接口 650之类的可移动存储器接口连接到系统总线 621。以上讨论并在图10中示出的驱动器及其相关联的计算机存储介质为计算机610提供了对计算机可读指令、数据结构、程序模块和其他数据的储存。在图10中,例如,硬盘驱动器641被示为储存操作系统644、应用程序645、其他程序模块646和程序数据647。注意,这些组件可与操作系统634、应用程序635、其他程序模块636和程序数据637相同,也可与它们不同。在此操作系统644、应用程序645、其他程序模块646以及程序数据647被给予了不同的编号,以说明至少它们是不同的副本。用户可以通过诸如键盘662、话筒663以及诸如鼠标、跟踪球或触摸垫等定点设备661等输入设备来将命令和信息输入至计算机610中。其它输入设备(未示出)可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口 660连接到处理单元620,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。监视器691或其他类型的显示设备也通过诸如视频接口 690之类的接口连接至系统总线621。除了监视器以外,计算机还可包括诸如扬声器697和打印机696之类的其他外围输出设备,它们可通过输出外围接口 695来连接。计算机610使用到诸如远程计算机680等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机680可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且一般包括以上关于计算机610描述的多个或所有的元件。图10中所描绘的逻辑连接包括局域网(LAN)671和广域网(WAN)673,但还可包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。当在LAN联网环境中使用时,计算机610通过网络接口或适配器671连接到LAN670。当在WAN联网环境中使用时,计算机610通常包括调制解调器672或用于通过诸如因特网等WAN 673建立通信的其他手段。调制解调器672可以是内置的或外置的,可经由用户输入接口 660或其他适当的机制连接到系统总线621。在联网环境中,相对于计算机610所示的程序模块或其部分可被储存在远程存储器存储设备中。作为示例,而非限制,图10示出了远程应用程序685驻留在远程计算机680上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种用于在移动设备上显示信息的计算机实现方法,包括 在所述移动设备的显示屏上显示第一应用的第一用户界面页面的实例; 响应于来自所述第一用户界面页面实例的登记请求,在第一数据结构中登记要被还原的页面状态信息的标识; 接收导航离开所述第一应用的请求; 将登记在所述第一数据结构中的来自所述第一用户界面页面的实例的页面状态信息的值储存在对应于所述第一用户界面页面的所述实例的实例专用数据结构中; 一旦导航回所述第一应用的所述第一用户界面页面,访问对应于所述第一用户界面页面的实例的所述实例专用数据结构; 获得储存在所述实例专用数据结构中的页面状态信息的值;以及使用从所述实例专用数据结构中获得的页面状态信息的值来显示所述第一用户界面页面。
2.如权利要求I所述的计算机实现的方法,其特征在于,生成所述第一用户界面页面的实例包括 用对应于从中导出所述第一用户界面页面的页面的类的功能,请求对要储存其值的预定义页面状态信息的登记。
3.如权利要求I所述的计算机实现的方法,其特征在于,储存在所述第一数据结构中的页面状态信息的标识包括用户界面页面状态信息项的标识,每一项具有对应于所述第一用户界面页面的实例的相关联的状态和值。
4.如权利要求3所述的计算机实现的方法,其特征在于,储存登记在所述第一数据结构中的页面状态信息的值包括 访问所述第一数据结构并选择标识在所述第一数据结构中的项之一; 从所述用户界面页面的实例获得与所选择的项相关联的状态和值;以及将与所选择的项相关联的状态和值储存在对应于所述第一用户界面页面的实例的实例专用数据结构中。
5.如权利要求I所述的计算机实现的方法,其特征在于,还包括 在访问所述实例专用数据结构之前,确定自从上一次显示所述第一用户界面页面,所述第一应用是被导航离开还是因为移动设备被锁定而被挂起。
6.如权利要求I所述的计算机实现的方法,其特征在于,还包括 在接收导航离开所述第一应用的请求之前,从所述第一用户界面页面内接收导航到所述第一应用的第二用户界面页面的请求;以及 响应于导航到所述第二用户界面页面的请求,为所述第一用户界面页面执行储存登记在所述第一数据结构中的页面状态信息的值的步骤。
7.—种移动设备,包括 具有第一和第二用户界面显示页面的第一应用,所述第一和第二用户界面显示页面两者从页面类导出,所述页面类具有用于储存和复苏所述第一和第二用户界面页面的用户界面页面状态信息的储存和复苏功能,所述第一和第二用户界面页面两者继承所述页面面类的储存和复苏功能; 控制导航到和离开所述第一应用的操作系统,所述储存和复苏功能接收导航离开所述第一应用的指示,并且如果所述第一和第二用户界面显示页面在所述第一应用中打开,则储存来自所述第一和第二用户界面显示页面的用户界面页面状态信息,并且一旦接收到导航回所述第一应用的指示,将所储存的用户界面页面状态信息还原到所述第一和第二用户界面显示页面之一;以及 处理器,作为移动设备的功能部件,被所述第一应用和所述操作系统激活,以方便所述储存和复苏功能和导航。
8.如权利要求7所述的移动设备,其特征在于,所述页面类与具有所述储存和复苏功能的实用程序实体相关联。
9.如权利要求7所述的移动设备,其特征在于,还包括 储存实例专用状态词典的页面状态词典数据存储,当所述第一和第二用户界面显示页面的每一个给定实例被导航离开时,所述储存和复苏功能使得所述给定实例通过访问列表并储存对应于所述给定实例的每一种类型的页面状态信息的当前页面状态值来执行储存功能。
10.一种硬件计算机可读存储介质,储存计算机可读指令,所述计算机可读指令在被计算机执行时,使得所述计算机执行以下步骤 在所述移动设备的显示屏上显示第一应用的第一用户界面页面的实例; 从所述第一用户界面页面接收储存页面状态信息类型的登记请求,所述页面状态信息类型将在所述计算机导航离开所述第一应用时被储存; 响应于所述登记请求,在第一数据结构中登记所述页面状态信息类型的标识; 接收导航离开所述第一应用的请求; 将注册在所述第一数据结构中的来自所述第一用户界面页面的实例的页面状态信息类型的值储存在对应于所述第一用户界面页面的实例的实例专用数据结构中; 一旦导航回所述第一应用的所述第一用户界面页面,访问对应于所述第一用户界面页面的实例的所述实例专用数据结构; 获得储存在所述实例专用数据结构中的页面状态值; 将所述页面状态值还原到所述第一用户界面页面;以及 使用从所述实例专用数据结构中获得的已还原的页面状态值来显示所述第一用户界面页面。
全文摘要
本发明涉及移动应用上的页面的自动生存期管理。储存用户界面(UI)状态信息并在用户导航并回到应用时使该信息复苏。在创建页面的实例时,页面向墓碑列表登记并指示页面上的哪个页面状态信息要在用户导航离开应用时被储存并复苏。在用户导航离开该应用时,应用访问墓碑列表并储存UI页面状态信息。在用户导航返回该应用时,应用访问页面状态词典并还原UI页面状态信息的值。
文档编号G06F9/44GK102981820SQ20121037683
公开日2013年3月20日 申请日期2012年9月28日 优先权日2011年9月29日
发明者S·辛格, N·Y·沙哈 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1