实施本发明的最佳模式
以下,将参照附图描述本发明的实施例。图1是示出了根据本发明的第一实施例的屏幕转换控制装置的配置的框图。根据本发明实施例的屏幕转换控制装置102包括屏幕转换控制单元103,历史信息存储单元104以及显示数据存储单元105。
历史信息存储单元104存储关于当前正在显示的屏幕和先前已显示过的若干屏幕的历史信息(下文称作“屏幕历史信息”)。显示数据存储单元105存储关于当前正在显示的和先前已显示过的屏幕的显示数据(位图数据)。
屏幕转换控制单元103根据来自应用101的屏幕转换请求从显示数据存储单元105读取显示数据,并向显示装置106输出所读取的显示数据。此时,如果所请求的屏幕显示数据不在显示数据存储单元105中,则屏幕转换控制单元103将所请求的屏幕显示数据写入到显示数据存储单元105中,并向显示装置106输出所写入的显示数据。显示装置106基于显示数据来显示屏幕。
接着将详细描述存储在历史信息存储单元104中的屏幕历史信息。屏幕历史信息由一个或多个“屏幕状态信息”组成。屏幕状态信息是关于单个屏幕的信息,包括用于标识屏幕的“屏幕标识符”和指示屏幕状态的“屏幕状态”。
屏幕状态为图2中所示的三种状态中的任一种状态。下文中,显示数据在显示数据存储单元105中且屏幕正在显示的状态称为“显示状态”,显示数据在显示数据存储单元105中但没有屏幕正在显示的状态称为“非显示状态”,而显示数据不在显示数据存储单元105中的状态称为“丢弃状态”。
图3是示出了示例性屏幕历史信息的表。图3中所示的屏幕历史信息由五个屏幕状态信息组成。这些屏幕状态信息包括五个屏幕标识符和五个屏幕状态。例如,具有屏幕标识符A的屏幕(下文中称为“屏幕A”;其它屏幕同样适用)的屏幕状态为丢弃状态,屏幕B、C和D的屏幕状态为非显示状态,而屏幕E的屏幕状态为显示状态。
在图1中的历史信息存储单元104中图示出了图3中所示的屏幕历史信息的示例。历史信息存储单元104中的每个方格都指示关于单个屏幕的屏幕状态信息。最左边的方格指示屏幕历史信息中关于最早的屏幕(最先显示的屏幕)的屏幕状态信息。另外,最右边的方格指示历史信息中关于最新的屏幕(最近显示的屏幕)的屏幕状态信息。另外,方格中的字母字符A到E代表屏幕标识符。
粗线条边框的方格指示屏幕状态为显示状态。另外,细线条边框的方格指示屏幕状态为非显示状态。此外,画有阴影线的方格指示屏幕为丢弃状态。图1示出屏幕E的屏幕状态为显示状态,屏幕B,C和D的屏幕状态为非显示状态,而屏幕A的屏幕状态为丢弃状态。
同样,在图1中的显示数据存储单元105内图示出显示数据的示例。显示数据存储单元105内的每个方格代表其中存储了关于单个屏幕的显示数据的数据区。方格中的字符(DE,等)各代表关于由下标字母字符标识的屏幕的显示数据。在图1所示的示例中,关于屏幕E、B、C和D的显示数据被存储在显示数据存储单元105中。
接着描述的是由屏幕转换控制装置102执行的各种过程。图4与图5是示出了在应用101请求屏幕转换控制单元103执行屏幕转换时由屏幕转换控制单元103执行的过程(下文中,称为“屏幕转换过程”)的流程图。
在应用101请求屏幕转换控制单元103执行屏幕转换时,屏幕转换控制单元103首先从历史信息存储单元104读取屏幕历史信息,并获得记录在屏幕历史信息中的最新屏幕状态信息。然后,屏幕转换控制单元103将转换源屏幕设置为由屏幕状态信息中所包含的屏幕标识符标识的屏幕(步骤S401)。
接着,屏幕转换控制单元103确定关于应用101所请求的转换目标屏幕的屏幕状态信息是否存储在历史信息存储单元104中(步骤S402)。
如果关于转换目标屏幕的屏幕状态信息没有存储在历史信息存储单元104中(步骤S402中的“否”),则屏幕转换控制单元103执行“自由空间确保过程”(其细节将在后面描述)以将关于转换目标屏幕的显示数据写入到显示数据存储单元105中(步骤S403)。
在通过自由空间确保过程在显示数据存储单元105中确保了自由空间之后,屏幕转换控制单元103将关于转换目标屏幕的显示数据写入到显示数据存储单元105中的自由空间中(步骤S404)。接着,屏幕转换控制单元103向显示装置106输出存储在显示数据存储单元105中的关于转换目标屏幕的显示数据。显示装置106根据显示数据显示该屏幕(步骤S405)。
接下来,屏幕转换控制单元103将关于所显示屏幕的屏幕状态信息(即,屏幕标识符和屏幕状态)添加入到屏幕历史信息中(步骤S406)。因为转换目标屏幕正在显示,所以其屏幕状态为显示状态。接着,屏幕转换控制单元103将转换源屏幕的屏幕状态改为非显示状态(步骤S407),并结束屏幕转换过程。
如果关于应用101所请求的转换目标屏幕的屏幕状态信息存储在历史信息存储单元104中(步骤S402中的“是”),则屏幕转换控制单元103确定转换目标屏幕的屏幕状态是否为显示状态(图5中的步骤S501)。
如果转换目标屏幕的屏幕状态为显示状态(步骤S501中的“是”),则屏幕转换控制单元103执行显示数据丢弃过程(其细节将在后面描述)。如果屏幕状态不是显示状态(步骤S501中的“否”),则屏幕转换控制单元103确定转换目标屏幕的屏幕状态是否为非显示状态(步骤S502)。
如果转换目标屏幕的屏幕状态为非显示状态(步骤S502中的“是”),则屏幕转换控制单元103向显示装置106输出存储在显示数据存储单元105中的关于转换目标屏幕的显示数据。。显示装置106根据显示数据来显示屏幕(步骤S504)。
如果转换目标屏幕的屏幕状态不是非显示状态(步骤S502中的“否”),则转换目标屏幕状态为丢弃状态。相应地,屏幕转换控制单元103执行自由空间确保过程以便于能将关于转换目标屏幕的显示数据写入到显示数据存储单元105中(步骤S403)。
在通过自由空间确保过程在显示数据存储单元105中确保了自由空间之后,屏幕转换控制单元103将关于转换目标屏幕的显示数据写入到显示数据存储单元105中的自由空间里(步骤S503)。接着,屏幕转换控制单元103向显示装置106输出存储在显示数据存储单元105中的关于转换目标屏幕的显示数据。显示装置106根据显示数据来显示屏幕(步骤S504)。
当转换目标屏幕在显示装置106上显示以后,屏幕转换控制单元103将转换目标屏幕的屏幕状态改为显示状态(步骤S505)。然后,屏幕转换控制单元103执行显示数据丢弃过程以丢弃关于转换源屏幕以及在转换源屏幕与转换目标屏幕之间存在的任何屏幕的显示数据(步骤S506)。最后,屏幕转换控制单元103从历史信息存储单元104删除关于其屏幕状态为丢弃状态且存在于转换源屏幕与转换目标屏幕之间的任何屏幕的屏幕状态信息(步骤S507),并结束屏幕转换过程。
接下来,参考附图描述自由空间确保过程。图6是自由空间确保过程的流程图。
在自由空间确保过程中,屏幕转换控制单元103首先确定显示数据存储单元105中是否有任何自由空间(步骤S601)。如果有任何自由空间(步骤S601中的“是”),则屏幕转换控制单元103结束自由空间确保过程。如果没有自由空间(步骤S601中的“否”),则屏幕转换控制单元103从显示数据存储单元105中丢弃关于一个屏幕的显示数据(步骤S602)。然后,屏幕转换控制单元103将对应于所丢弃的显示数据的屏幕的屏幕状态改为丢弃状态(步骤S603),并结束自由空间确保过程。
接着,参考附图描述显示数据丢弃过程。图7是显示数据丢弃过程的流程图。
在显示数据丢弃过程中,屏幕转换控制单元103首先将转换源屏幕设置为将要经历显示数据丢弃过程的目标(步骤S701)。然后,屏幕转换控制单元103确定该过程目标的屏幕状态是否为丢弃状态(步骤S702)。如果屏幕状态为丢弃状态(步骤S702中的“是”),则屏幕转换控制单元103将屏幕历史信息中的前一个屏幕设置为过程目标(步骤S708)。
如果过程目标的屏幕状态不是丢弃状态(步骤S702中的“否”),则屏幕转换控制单元103确定屏幕状态是否为非显示状态(步骤S703)。如果屏幕状态为非显示状态(步骤S703中的“是”),则屏幕转换控制单元103从显示数据存储单元105中丢弃对应于该屏幕的显示数据(步骤S706)。
如果过程目标的屏幕状态不是非显示状态(步骤S703中的“否”),则屏幕状态为显示状态。相应地,屏幕转换控制单元103不显示该屏幕(步骤S704),而且,将屏幕状态改为非显示状态(步骤S705)。接着,屏幕转换控制单元103从显示数据存储单元105中丢弃对应于该屏幕的显示数据(步骤S706)。
在从显示数据存储单元105中丢弃关于过程目标的显示数据后,屏幕转换控制单元103将屏幕状态改为丢弃状态(步骤S707)。此外,屏幕转换控制单元103将屏幕历史信息中的前一个屏幕设置为过程目标(步骤S708)。
此后,屏幕转换控制单元103确定该屏幕是否为转换目标屏幕(步骤S709)。如果过程目标屏幕为转换目标屏幕(步骤S709中的“是”),则屏幕转换控制单元103结束显示数据丢弃过程,并返回到屏幕转换过程。如果过程目标屏幕不是转换目标屏幕(步骤S709中的“否”),则屏幕转换控制单元103对该屏幕执行步骤S702到S708中的处理。
下面描述屏幕转换过程的具体示例。图8和图9是各自示出了显示数据存储单元105与历史信息存储单元104中的内容在屏幕转换时如何变化的示图。
图8是示出了到其屏幕状态信息不在历史信息存储单元104中的屏幕的屏幕转换的示图。在图8中,从屏幕C到屏幕D的屏幕转换以及从屏幕D到屏幕E的屏幕转换作为示例示出。
在图8中所示的状态1中,屏幕C显示在显示屏上。另外,显示数据存储单元105中已经存储了关于屏幕A的显示数据DA、关于屏幕B的显示数据DB以及关于屏幕C的显示数据DC。此外,历史信息存储单元104中已经存储了关于屏幕A到C的屏幕状态信息。屏幕C的屏幕状态为显示状态,而屏幕A和B的屏幕状态为非显示状态。
首先描述的是由屏幕转换控制单元103在从屏幕C到屏幕D的屏幕转换中执行的过程。
在应用101请求到屏幕D的屏幕转换时,屏幕转换控制单元103首先将屏幕C设置为屏幕转换源(图4中的步骤S401).接下来,屏幕转换控制单元103确定关于屏幕D即转换目标屏幕的屏幕状态信息不在历史信息存储单元104中(步骤S402中的“否”).
因为显示数据存储单元105有自由空间(图6中的步骤S601中的“是”),所以屏幕转换控制单元103将关于屏幕D的显示数据DD写入到自由空间中(步骤S404)。此时,屏幕C显示在显示屏上(见图8中的状态2)。
接着,屏幕转换控制单元103向显示装置106输出关于屏幕D的显示数据DD。显示装置106根据显示数据来显示屏幕D(步骤S405)。然后,屏幕转换控制单元103将关于屏幕D的屏幕状态信息添加入到屏幕历史信息中(步骤S406)。最后,屏幕转换控制单元103将屏幕D的屏幕状态设置为显示状态,并将屏幕C的屏幕状态改为非显示状态(步骤S407,见图8中的状态3)。
接下来,将描述从屏幕D到屏幕E的屏幕转换作为显示数据存储单元105没有自由空间的示例。
首先,屏幕转换控制单元103将屏幕D设置为屏幕转换源(步骤S401)。然后,屏幕转换控制单元103确定关于屏幕E即转换目标屏幕的屏幕状态信息不在历史信息存储单元104中(步骤S402中的“否”)。此外,屏幕转换控制单元103在自由空间确保过程中确定显示数据存储单元105没有自由空间(步骤S601中的“否”)。相应地,屏幕转换控制单元103确保显示数据存储单元105中有用于写入关于屏幕E的显示数据DE的自由空间。
在此示例中,假定屏幕转换控制单元103丢弃关于屏幕A的显示数据。在自由空间确保过程中,屏幕转换控制单元103丢弃关于屏幕A的显示数据(步骤S602),而且,将屏幕A的屏幕状态改为丢弃状态(步骤S603)。接着,屏幕转换控制单元103将关于屏幕E的显示数据DE写入到自由空间(关于屏幕A的显示数据DA曾经存在的区域)(步骤S404)。注意此时,屏幕D显示在显示屏上(见图8中的状态4)。
此后,屏幕转换控制单元103向显示装置106输出关于屏幕E的显示数据DE。显示装置106根据显示数据在显示屏上显示屏幕E(步骤S405)。然后,屏幕转换控制单元103将关于屏幕E的屏幕状态信息添加入到屏幕历史信息中(步骤S406)。最后,屏幕转换控制单元103将屏幕E的屏幕状态设置为显示状态,并将屏幕D的屏幕状态改为非显示状态(步骤S407;见图8中的状态5)。
接着,参考图9,将描述从屏幕E到屏幕A的屏幕转换作为到其屏幕状态信息在历史信息存储单元104中的屏幕的转换的示例。
在图9所示的状态1中,屏幕E显示在显示屏上。另外,显示数据存储单元105中已存储了关于屏幕B的显示数据DB、关于屏幕C的显示数据DC、关于屏幕D的显示数据DD以及关于屏幕E的显示数据DE。此外,历史信息存储单元104中已存储了关于屏幕A到E的屏幕状态信息。屏幕A的屏幕状态为丢弃状态,屏幕B、C以及D的屏幕状态为非显示状态,而屏幕E的屏幕状态为显示状态。
在应用101请求到屏幕A的屏幕转换时,屏幕转换控制单元103首先将屏幕E设置为屏幕转换源(步骤S401)。然后,屏幕转换控制单元103确定关于屏幕A即转换目标屏幕的屏幕状态信息在历史信息存储单元104中(步骤S402中的“是”)。
接下来,屏幕转换控制单元103确定关于屏幕A即转换目标屏幕的屏幕状态信息为丢弃状态(图5中步骤S502中的“否”).此外,屏幕转换控制单元103在自由空间确保过程中确定显示数据存储单元105没有自由空间(步骤S601中的“否”).相应地,屏幕转换控制单元103确保在显示数据存储单元105中有用于写入关于屏幕A的显示数据DA的自由空间。
在此示例中,假定屏幕转换控制单元103丢弃关于屏幕B的显示数据。在自由空间确保过程中,屏幕转换控制单元103丢弃关于屏幕B的显示数据(步骤S602),而且,将关于屏幕B的屏幕信息改为丢弃状态(步骤S603)。接着,屏幕转换控制单元103将关于屏幕A的显示数据DA写入到自由空间中(关于屏幕B的显示数据DB曾经存在的区域)(步骤S503)。注意此时,屏幕E显示在显示屏上(见图9中的状态2)。
接着,屏幕转换控制单元103向显示装置106输出关于屏幕A的显示数据DA。显示装置106根据显示数据在显示屏上显示屏幕A(步骤S504)。此外,屏幕转换控制单元103将屏幕A的屏幕状态改为显示状态(步骤S505;见图9中的状态3)。
接着,屏幕转换控制单元103执行显示数据丢弃过程(步骤S506)。在显示数据丢弃过程中,屏幕转换控制单元103首先将屏幕E即转换源屏幕设置为过程目标(图7中的步骤S701)。
屏幕转换控制单元103确定屏幕E的屏幕状态为显示状态(步骤S703中的“否”)。相应地,屏幕转换控制单元103不显示屏幕E(步骤S704),而且,将屏幕E的屏幕状态改为非显示状态(步骤S705)。接着,屏幕转换控制单元103丢弃关于屏幕E的显示数据DE(步骤S706),并且,将屏幕E的屏幕状态改为丢弃状态(步骤S707;见图9中的状态4)。
接下来,屏幕转换控制单元103将屏幕D设置为过程目标(步骤S708)。因为屏幕D不是转换目标屏幕(步骤S709中的“否”),所以屏幕转换控制单元103对屏幕D执行步骤S702到S707中的处理。因为屏幕D的屏幕状态为非显示状态(步骤S703中的“是”),所以屏幕转换控制单元103丢弃关于屏幕D的显示数据DD(步骤S706),而且,将屏幕D的屏幕状态改为丢弃状态(步骤S707;见图9中的状态5)。
接下来,屏幕转换控制单元103将屏幕C设置为过程目标(步骤S709)。因为屏幕C不是转换目标屏幕(步骤S709中的“否”),所以屏幕转换控制单元103对屏幕C执行步骤S702到S707中的处理。因为屏幕C的屏幕状态是非显示状态,所以对屏幕C执行与对屏幕D相同的处理(见图9中的状态6)。
接下来,屏幕转换控制单元103将屏幕B设置为过程目标(步骤S708)。因为屏幕B不是转换目标屏幕(步骤S709中的“否”),所以屏幕转换控制单元103对屏幕B执行步骤S702到S707中的处理。因为屏幕B的屏幕状态为丢弃状态(步骤S702的“是”),所以不执行显示数据的丢弃(见图9中的状态7)。
接下来,屏幕转换控制单元103将屏幕A设置为过程目标(步骤S708)。因为屏幕A为转换目标屏幕(步骤S709中的“是”),所以屏幕转换控制单元103结束显示数据丢弃过程。
最后,屏幕转换控制单元103删除关于屏幕B到E的屏幕状态信息(步骤S507),并结束屏幕转换过程(见图9中的状态8)。
如此,根据本发明的屏幕转换控制装置即使在显示数据由于存储器容量的原因被丢弃时,也能通过将显示数据已经被丢弃的屏幕的屏幕状态作为丢弃状态存储在历史信息存储单元中来保持屏幕历史.这允许即使是具有小存储容量的蜂窝电话与手持式信息终端也能记录将比传统所能记录的屏幕更多的屏幕记录在历史中,由此可实现高速的屏幕转换.
注意已经使用三个屏幕状态,即显示状态、非显示状态及丢弃状态描述了根据本发明的屏幕转换控制装置,但是屏幕状态并不局限于这三个状态。可使用其它的屏幕状态,例如,代表屏幕还没有经历任何过程的状态的初始状态,代表是用户的操作目标的状态的现用状态,以及代表不是用户操作目标的状态的待用状态。
另外,根据本实施例的屏幕转换控制装置被描述为使用如图2中所示的“显示数据存在/不存在”与“屏幕显示/不显示”的组合作为屏幕状态,但是“显示数据存在/不存在”与“屏幕显示/不显示”可被单独用作屏幕状态。
另外,根据本实施例的屏幕转换控制装置已经被描述为对所有屏幕执行屏幕显示、不显示以及丢弃过程,但是并非需要对所有屏幕执行这三个过程。根据本实施例的屏幕转换控制装置可以用启用允许仅对某些屏幕而不对其它屏幕执行这些过程的设置的这样一种方式来配置。
另外,在屏幕转换并不局限于普通应用中的切换到在其上执行不同过程的屏幕。在保持浏览器或数据库搜索系统的处理结果作为历史的情况下,也可以通过将对应于该历史的屏幕看做单个屏幕来使用该屏幕转换控制装置。
图10是示出了根据本发明第二实施例的屏幕转换控制装置的配置的框图。根据本实施例的屏幕转换控制装置1002包括:屏幕转换控制单元1003,历史信息存储单元1004,显示数据存储单元1005,屏幕生成状态管理单元1007以及屏幕状态监控单元1008。
除了如第一实施例中所描述的功能之外,还为屏幕转换控制单元1003提供了在屏幕转换过程结束时向屏幕生成状态管理单元1007通知屏幕转换的功能。
一从屏幕转换控制单元1003得到屏幕转换的通知,屏幕生成状态管理单元1007即参考存储在历史信息存储单元1004中的屏幕历史信息来管理包含在屏幕历史信息中所包含的屏幕状态信息。
具体地,屏幕生成状态管理单元1007从历史信息存储单元1004读取屏幕历史信息,并获得记录在屏幕历史信息中的从最新的屏幕状态起到预定数目(下文中,第N个)的屏幕状态信息。然后,屏幕生成状态管理单元1007将关于由这多个屏幕状态信息中所包含的屏幕标识符所标识的以及其屏幕状态为丢弃状态的任何屏幕的显示数据写入到显示数据存储单元1005中,并将屏幕状态从丢弃状态改为非显示状态。另外,屏幕生成状态管理单元1007将关于从第(N+1)个屏幕状态信息到最早的屏幕状态信息范围内的屏幕状态为显示状态或非显示状态的任何屏幕的显示数据丢弃,并将屏幕状态设置为丢弃状态(下文中,这些过程称为“屏幕生成状态管理过程”)。从而,关于任何非常有可能立即转换的屏幕的显示数据在显示数据存储单元1005中被预备好,因此可实现高速的屏幕到屏幕的转换。
屏幕状态监控单元1008监控关于存储在历史信息存储单元1004中的屏幕的屏幕状态信息.具体地,屏幕状态监控单元1008从关于这些屏幕的屏幕状态信息获得屏幕状态,并将它们与这些屏幕的当前状态相比较.如果屏幕状态与屏幕的当前状态之间有任何不同,则屏幕状态监控单元1008改变屏幕状态以与屏幕的当前状态一致.由屏幕状态监控单元1008执行的用于检查每个屏幕的状态的过程可定期地在预定时间间隔执行,或可以通过在屏幕状态已改变时通知屏幕状态监控单元1008来自屏幕的改变,或通过从诸如提供屏幕显示功能的窗口系统等模块通知屏幕状态来执行.由此,就可以防止屏幕的状态与存储在历史信息存储单元1004中的屏幕状态不一致,并可从而消除如在显示装置间切换时屏幕状态被改变但不是通过来自应用的屏幕转换请求被改变的情形下,或是在屏幕状态被不是由屏幕转换控制装置所管理的其它屏幕的影响所改变的情形下所引起的任何不便.
接下来描述的是由屏幕转换控制装置1002执行的处理。由屏幕转换控制单元1003执行的屏幕转换过程的描述在第一实施例中给出,因此在此省略。在屏幕转换过程结束时,屏幕转换控制单元1003向屏幕生成状态管理单元1007通知屏幕转换。一接收到通知,屏幕生成状态管理单元1007即启动屏幕生成状态管理过程。下面参照附图描述屏幕生成状态管理过程。
图11是示出了屏幕生成状态管理过程的流程图。一从屏幕转换控制单元1003得到屏幕转换的通知,屏幕生成状态管理单元1007首先从历史信息存储单元1004读取屏幕历史信息,并获得记录在屏幕历史信息中的最早的一个屏幕状态信息。然后,屏幕生成状态管理单元1007将由屏幕状态信息中所包含的屏幕标识符所标识的屏幕设置为对其执行屏幕生成状态管理过程的目标(步骤S1101)。
接下来,屏幕生成状态管理单元1007确定该过程目标屏幕是否是早于从最新屏幕数起的第N个屏幕的屏幕(在第N个屏幕之前显示的屏幕)(步骤S1102)。这里,“N”是由屏幕生成状态管理单元1007保持的值(整数),它指示哪个编号的屏幕是最新的屏幕经常转换到的屏幕。注意,该值可在系统设计时设置或可通过允许系统根据对用户操作的观察获悉经常返回的屏幕编号。
如果过程目标屏幕是早于从最新屏幕数起第N个屏幕的屏幕(步骤S1102中的“是”),则屏幕生成状态管理单元1007确定该屏幕的屏幕状态是否为丢弃状态(步骤S1103)。如果屏幕状态为丢弃状态(步骤S1103中的“是”),则屏幕生成状态管理单元1007确定是否有比该屏幕更新的屏幕(步骤S1109)。
如果屏幕状态不是丢弃状态(步骤S1103中的“否”),则屏幕生成状态管理单元1007从显示数据存储单元1005中丢弃关于该过程目标屏幕的显示数据(步骤S1104)。此外,屏幕生成状态管理单元1007将屏幕状态改为丢弃状态(步骤S1105)。接着,屏幕生成状态管理单元1007确定是否有任何比该屏幕更新的屏幕(步骤S1109)。
如果过程目标屏幕不是早于第N个屏幕的屏幕(步骤S 1102中的“否”),则屏幕生成状态管理单元1007确定该屏幕的屏幕状态是否为丢弃状态(步骤S1106)。如果屏幕状态不是丢弃状态(步骤S1106中的“否”),则屏幕生成状态管理单元1007确定是否有任何比该屏幕更新的屏幕(步骤S1109)。
如果屏幕状态是丢弃状态(步骤S1106中的“是”),则屏幕生成状态管理单元1007将关于该过程目标屏幕的显示数据写到显示数据存储单元1005中(步骤S1107)。此外,屏幕生成状态管理单元1007将屏幕状态改为非显示状态(步骤S1108)。接着,屏幕生成状态管理单元1007确定是否有任何比该屏幕更新的屏幕(步骤S1109)。
如果有任何比经历屏幕生成状态管理过程的屏幕更新的屏幕(步骤S1109中的“是”),则屏幕生成状态管理单元1007将屏幕历史信息中的下一个屏幕设置为过程目标(步骤S1110)。屏幕生成状态管理单元1007对新的过程目标屏幕执行步骤S1102到S1109中的处理。
如果没有比经历屏幕生成状态管理过程的屏幕更新的屏幕(步骤S1109中的“否”),则屏幕生成状态管理单元1007结束屏幕生成状态管理过程.
下面描述的是屏幕生成状态管理过程的具体示例。图12是示出了显示数据存储单元1005和历史信息存储单元1004的内容在屏幕生成状态管理过程中如何改变的示图。
现在,考虑这样一种情形,即在屏幕转换过程结束时,屏幕E显示在显示装置1006上,且显示数据存储单元1005中存储了关于屏幕B的显示数据DB、关于屏幕D的显示数据DD以及关于屏幕E的显示数据DE。此外,假定屏幕A和C的屏幕状态为丢弃状态,屏幕B和D的屏幕状态为非显示状态,而屏幕E的屏幕状态为显示状态。该情形在图12中的状态1中示出。另外,假定屏幕生成状态管理单元1007保持“3”作为N的值。
一从屏幕转换控制单元1003得到屏幕转换过程完成的通知,屏幕生成状态管理单元1007首先将屏幕A设置为将要经历屏幕生成状态管理过程的目标(图11中的步骤S1101)。然后,屏幕生成状态管理单元1007确定屏幕A是早于从最新的屏幕数起的第三个屏幕的屏幕(步骤S1102中的“是”)。此外,屏幕生成状态管理单元1007确定关于屏幕A的屏幕信息为丢弃状态(步骤S1103中的“是”,见图12中的状态2)。
接着,屏幕生成状态管理单元1007确定有关于比屏幕A更新的屏幕的屏幕状态信息(步骤S1109中的“是”),并将屏幕B设置为过程目标(步骤S1110)。
屏幕生成状态管理单元1007确定屏幕B是早于从屏幕E数起的第三个屏幕的屏幕(步骤S1102中的“是”)。然后,屏幕生成状态管理单元1007确定关于屏幕B的屏幕信息不是丢弃状态(步骤S1103中的“否”)。相应地,屏幕生成状态管理单元1007从显示数据存储单元1005中丢弃关于屏幕B的显示数据(步骤S1104)。此外,屏幕生成状态管理单元1007将屏幕B的屏幕状态改为丢弃状态(步骤S1105,见图12中的状态3)。
接着,屏幕生成状态管理单元1007确定有关于比屏幕B更新的屏幕的屏幕状态信息(步骤S1109中的“是”),并将屏幕C设置为过程目标(步骤S1110)。
屏幕生成状态管理单元1007确定屏幕C不是早于从屏幕E数起的第三个屏幕的屏幕(步骤S1102中的“否”)。此外,屏幕生成状态管理单元1007确定关于屏幕B的屏幕信息为丢弃状态(步骤S1106中的“是”)。相应地,屏幕生成状态管理单元1007将关于屏幕C的显示数据写到显示数据存储单元1005中(步骤S1107)。此外,屏幕生成状态管理单元1007将屏幕C的屏幕状态改为非显示状态(步骤S1108,见图12中的状态4)。
接着,屏幕生成状态管理单元1007确定有关于比屏幕C更新的屏幕的屏幕状态信息(步骤S1109中的“是”),并将屏幕D设置为过程目标(步骤S1110)。
屏幕生成状态管理单元1007确定屏幕D不是早于从屏幕E数起的第三个屏幕的屏幕(步骤S1102中的“否”)。然后,屏幕生成状态管理单元1007确定关于屏幕D的屏幕信息不是丢弃状态(步骤S1106中的“否”,见图12中的状态5)。
接着,屏幕生成状态管理单元1007确定有关于比屏幕D更新的屏幕的屏幕状态信息(步骤S1109中的“是”),并将屏幕E设置为过程目标(步骤S1110)。
屏幕生成状态管理单元1007确定屏幕E不是早于从屏幕E数起的第三个屏幕的屏幕(步骤S1102中的“否”)。然后,屏幕生成状态管理单元1007确定关于屏幕E的屏幕信息不是丢弃状态(步骤S1106中的“否”,见图12中的状态6)。
接着,,屏幕生成状态管理单元1007确定没有关于比屏幕E更新的屏幕的屏幕状态信息(步骤S1109中的“否”),并结束屏幕生成状态管理过程。
如此,根据本发明实施例的屏幕转换控制装置将关于从最新的屏幕到预定数目的屏幕的显示数据写到显示数据存储单元中。结果,关于任何非常可能立即转换到的屏幕的显示数据在显示数据存储单元中被预备好,因此可以实现高速的屏幕到屏幕的转换。另外,根据本实施例的屏幕转换控制装置丢弃关于任何不大可能转换到的早先屏幕的显示数据。因此,可以减少用于存储显示数据所需的存储量。
注意根据本实施例的屏幕转换控制装置被描述为在屏幕转换过程完成后立即执行屏幕生成状态管理过程,但是屏幕生成状态管理过程可在进入CPU活动率低的状态或进入系统空闲的状态时执行。另外,屏幕生成状态管理过程不总是需要在状态转换每次完成时即执行,例如,在CPU活动率高或系统没有进入空闲状态的情形下可以不执行该过程。另外,为了防止屏幕转换过程和其它过程的处理速度由于屏幕生成状态管理过程而降低,用于执行屏幕转换过程和屏幕生成状态管理过程的程序是分别提供的,从而通过在这些程序之间切换来执行处理。
接下来,参照附图描述本发明的第三实施例。根据本实施例的屏幕转换控制装置的配置与根据第一实施例的屏幕转换控制装置一样,因此其描述在此省略。
根据本实施例的屏幕转换控制装置的特征在于,在当背景屏幕等通过因特网等被下载时屏幕改变了的情况下,或在系统语言被实时地改变的情况下,图1中所示的屏幕转换控制单元103在显示数据存储单元105中更新显示数据,同时在历史信息存储单元104中保持屏幕历史信息(下文中,该过程称为“屏幕更换过程”)。
接下来描述的是由根据本实施例的屏幕转换控制装置执行的处理。在应用101请求屏幕更换时,屏幕转换控制单元103启动屏幕更换过程。下面参照附图描述屏幕更换过程。
图13是示出了屏幕更换程序的流程图。在应用101请求屏幕更换时,屏幕转换控制单元103首先从历史信息存储单元1004读取屏幕历史信息,并获得记录在屏幕历史信息中的最新的屏幕状态信息。然后,屏幕转换控制单元103将由屏幕状态信息中所包含的屏幕标识符所标识的屏幕设置为将要经历屏幕更换过程的目标屏幕(步骤S1301)。
接下来,屏幕转换控制单元103确定该屏幕状态是否为显示状态或非显示状态(步骤S1302)。如果屏幕的屏幕状态是显示状态或非显示状态(步骤S1302中的“是”),则屏幕转换控制单元103将存储在显示数据存储单元105中的显示数据更新为关于替换屏幕(下文中,称为“新屏幕”)的显示数据(步骤S1303)。接着,屏幕转换控制单元103确定是否有任何早于该屏幕的屏幕(步骤S1304)。
如果确定该过程目标屏幕的屏幕状态不是在显示状态中的屏幕或非显示状态屏幕(步骤S1302中的“否”),则屏幕转换控制单元103确定是否有任何早于该屏幕的屏幕(步骤S1304)。
如果有任何早于被处理的屏幕的屏幕(步骤S1304中的“是”),则屏幕转换控制单元103将屏幕历史信息中的前一个屏幕设置为过程目标(步骤S1305),并对所设屏幕执行步骤S1302到S1304中的处理。如果没有早于该屏幕的屏幕(步骤S1304中的“否”),则屏幕转换控制单元103结束屏幕更换过程。
下面描述的是屏幕更换过程的具体示例.图14是示出了显示数据存储单元105与历史信息存储单元104的内容在屏幕更换过程中如何改变的示图.在图14所示的状态1中,屏幕C显示在显示屏幕上.另外,显示数据存储单元105中已经存储了关于屏幕B的显示数据DB以及关于屏幕C的显示数据DC。此外,屏幕A的屏幕状态为丢弃状态,屏幕B的屏幕状态为非显示状态,而屏幕C的屏幕状态为显示状态。
在应用101请求屏幕更换时,屏幕转换控制单元103首先将屏幕C设置为要经历屏幕更换过程的屏幕(图13中的步骤S1301)。然后,屏幕转换控制单元103确定屏幕C在显示状态(步骤S1302中的“是”)。相应地,屏幕转换控制单元103将关于C的显示数据更新为关于新屏幕的显示数据DC′。此外,屏幕转换控制单元103向显示装置106输出显示数据DC′。显示装置106根据显示数据在显示屏上显示屏幕C′(见图14中的状态2)。
接着,屏幕转换控制单元103确定有早于屏幕C的屏幕(步骤S1304中的“是”),并将屏幕B设置为过程目标(步骤S1305)。
屏幕转换控制单元103确定屏幕B的屏幕状态为非显示状态(步骤S1302中的“是”)。相应地,屏幕转换控制单元103将关于屏幕B的显示数据更新为关于新屏幕的显示数据DB′(见图14中的状态3)。
接着,屏幕转换控制单元103确定有比屏幕B更早的屏幕(步骤S1304中的“是”),并将屏幕A设置为过程目标(步骤S1305)。
屏幕转换控制单元103确定屏幕A的屏幕状态既不是显示状态也不是非显示状态(步骤S1302中的“否”)。接着,屏幕转换控制单元103确定没有早于屏幕A的屏幕(步骤S1304中的“否”),并结束屏幕更换程序(见图14中的状态4)。
如此,根据本实施例的屏幕转换控制装置即使在需要更换屏幕显示数据时,例如在背景屏幕等通过因特网等被下载后屏幕被改变时,或在系统语言设置被实时改变时,也能保持屏幕历史。
注意根据本实施例的屏幕转换控制装置的配置被描述为与根据第一实施例的屏幕转换控制装置相同,但是它也可与根据第二实施例的屏幕转换控制装置的配置相同。
另外,本发明的每个实施例都是针对显示一个屏幕的情况描述的,然而多个屏幕可以同时显示。在此情况下,将用于同时显示多个屏幕的步骤添加到每个过程的流程图中。
另外,由根据本发明的屏幕转换控制装置执行的每个过程可由计算机程序来实现。另外,这种计算机程序能以其中存储该计算机程序的存储介质(以CD-ROM为代表)的形式来分发,或通过诸如因特网等网络提供给蜂窝电话、手持式信息终端等。