一种操作指令的响应方法和计算机设备与流程

专利2022-05-09  6



1.本发明涉及应用程序处理领域,特别是涉及一种操作指令的响应方法和计算机设备。


背景技术:

2.在安卓系统中,如果某应用程序在一定时间内,未响应操作指令,则会发生应用程序无响应(application not responding,anr),发生anr会导致程序卡死,甚至系统卡死,在此情况下,用户可以选择继续等待或者退出该应用程序;选择继续等待会使用户等待长时间,甚至等待也可能无法响应成功,最后强制退出,退出该应用程序,会造成当前运行状态丢失,给用户带来的使用体验感较差。但是目前,还没有针对应用程序无响应的解决方案。
3.因此,现有技术有待进一步发展。


技术实现要素:

4.本发明所要解决的技术问题是,提供一种操作指令的响应方法和计算机设备,以实现发生操作指令无响应时,显示接收操作指令时的界面,不丢失接收操作指令时的运行状态。
5.第一方面,本发明实施例提供了一种操作指令的响应方法,包括:
6.响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面;
7.确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面。
8.作为进一步的改进技术方案,所述确定所述操作指令对应的目标界面的界面数据,包括:
9.根据所述操作指令的类型,确定所述操作指令对应的等待响应时长;
10.在操作指令的已接收时长达到所述等待响应时长,且确定操作指令仍未响应时,保存所述操作指令对应的目标界面的界面数据。
11.作为进一步的改进技术方案,所述响应操作指令之后,还包括:
12.将所述操作指令加入任务队列;
13.相应的,所述确定操作指令仍未响应,包括:
14.判断所述操作指令是否还存在于任务队列中;
15.若所述操作指令还存在于任务队列中,则确定所述操作指令仍未响应。
16.作为进一步的改进技术方案,所述确定所述操作指令响应失败,包括:
17.根据所述操作指令的类型,确定所述操作指令对应的超时时长;
18.在接收操作指令达到所述超时时长时,判断所述操作指令是否还存在于任务队列中;
19.若所述操作指令还存在于任务队列中,则确定所述操作指令响应失败。
20.作为进一步的改进技术方案,所述确定所述操作指令对应的等待响应时长包括:
21.确定所述操作指令对应的类型,并根据所述类型确定所述操作指令对应的超时时长,其中,所述超时时长用于确定操作指令是否响应失败;
22.根据所述超时时长确定等待响应时长,其中,所述超时时长大于所述等待响应时长。
23.作为进一步的改进技术方案,所述界面数据包括活动数据、进程数据和服务数据,所述保存所述操作指令对应的目标界面的界面数据,包括:
24.确定目标界面对应的活动标识、广播标识和服务标识;
25.遍历系统中的数据,以获取所述活动标识对应的活动数据、所述广播标识对应的广播数据以及服务标识对应的服务数据,以得到界面数据;
26.将所述界面数据和所述操作指令关联保存。
27.作为进一步的改进技术方案,所述根据所述界面数据显示所述操作指令对应的所述目标界面,包括:
28.获取保存的所述操作指令对应的界面数据;
29.根据所述界面数据,显示目标界面。
30.作为进一步的改进技术方案,所述方法还包括:若所述操作指令不存在于任务队列中,则删除所述界面数据。
31.第二方面,本发明提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
32.响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面;
33.确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面。
34.第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
35.响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面;
36.确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面。
37.与现有技术相比,本发明实施例具有以下优点:
38.本发明实施例中,响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面;确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面,本发明在操作指令响应失败之前,保存接收操作指令时显示的目标界面所对应的数据,在确定操作指令响应失败时,根据保存的界面数据,显示操作目标界面,以实现不丢失接收操作指令时的运行状态,用户不用继续等待,也不用退出程序。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1为本申请实施例中一种操作指令的响应方法的流程示意图;
41.图2为本申请实施例中一种操作指令的响应方法具体应用时的流程示意图;
42.图3为本申请实施例中计算机设备的内部结构图。
具体实施方式
43.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.发明人经过研究发现,在安卓系统中,如果某应用程序在一定时间内,未响应操作指令,则会发生应用程序无响应(application not responding,anr),发生anr会导致程序卡死,甚至系统卡死,在此情况下,用户可以选择继续等待或者退出该应用程序;选择继续等待会使用户等待长时间,甚至等待也可能无法响应成功,最后强制退出,退出该应用程序,会造成当前运行状态丢失。
45.为了解决上述问题,在本发明实施例中,响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面;确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面,本发明在操作指令响应失败之前,保存接收操作指令时显示的目标界面所对应的数据,在确定操作指令响应失败时,根据保存的界面数据,显示操作目标界面,以实现不丢失接收操作指令时的运行状态,用户不用继续等待,也不用退出程序。
46.在本发明实施例提出的一种操作指令的响应方法,可以应用到安卓系统的终端中,其中,终端可以但是不限于是计算机、笔记本电脑、手机、平板电脑和便携式可穿戴设备。
47.下面结合附图,详细说明本发明的各种非限制性实施方式。
48.参见图1,示出了本发明实施例中的一种操作指令的响应方法。在本实施例中,所述方法例如可以包括以下步骤:
49.s1、响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面。
50.本发明实施例中,在系统中运行某一应用程序时,接收操作指令,以使得应用程序执行所述操作指令对应的操作;所述操作指令可以是应用程序中的某虚拟按键接收点击操作,根据所述点击操作触发的,所述操作指令也可以是应用程序接收操作指令对应的语音信息,对所述语音信息进行识别得到的;所述操作指令还可以是其他设备发送的,例如,智能手表生成操作指令,并将操作指令发送到手机,手机作为接收操作指令的设备。
51.本发明实施例中,为了便于描述,将应用程序在接收操作指令时终端显示的界面
称为目标界面,根据界面数据可以生成目标界面,即根据界面数据可以显示目标界面中的文字、图片等内容,例如,目标界面为微信程序的聊天界面,根据界面数据可以显示聊天界面中的聊天内容(包括聊天的文字和图片)、参与聊天的用户头像等内容。
52.本发明实施例中,活动管理服务(activitymanagerservice,ams)或者窗口管理服务(windowmanagerservice,wms)监测操作指令,当ams或者wms接收到操作指令,则将操作指令发送到系统进程,以便于系统进程保存操作指令对应的界面数据,保存界面数据的时机可以是在接收到操作指令后立即保存,也可以有其他的实现方式,具体的实现方式,会在后文介绍。
53.举例说明,在邮箱程序中,接收操作指令为打开某一封邮件,系统主线程会响应此操作指令,系统进程根据操作指令保存界面数据。
54.s2、确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面。
55.本发明实施例中,操作指令响应失败即发生程序无响应,当应用程序响应不够灵敏时,系统可以显示一个对话框,此对话框称为应用程序无响应(application not responding,anr)对话框,判定操作指令响应失败的具体步骤,后文会详细介绍。若确定发生anr,则系统进程可以根据界面数据显示接收操作指令时的界面。
56.本发明实施例中,响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面;确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面。本发明在发生应用程序无响应之前,保存目标界面所对应的界面数据,若确定操作指令响应失败,则根据保存的界面数据显示目标界面,以实现发生操作指令无响应时,不用等待或退出程序,而是可以继续显示接收操作指令时的界面,不丢失接收操作指令时的运行状态,提高了用户使用体验。
57.在实际应用中,并非每一个操作指令都有发生anr的风险,为了节约系统资源,本发明实施例在判定容易发生anr时才保存界面数据,具体的,步骤s1包括:
58.s11、根据所述操作指令的类型,确定所述操作指令对应的等待响应时长。
59.本发明实施例中,用于确定发生anr的时长为超时时长,等待响应时长小于超时时长,对于一个操作指令,该操作指令对应的等待响应时长小于超时时长之前。具体的,步骤s11包括:
60.s111、确定所述操作指令对应的类型,并根据所述类型确定所述操作指令对应的超时时长,其中,所述超时时长用于确定操作指令是否响应失败。
61.本发明实施例中,超时时长为允许响应操作指令的时长,当系统响应操作指令的时间超过该操作指令对应的超时时长,则判定为发生anr。
62.本发明实施例中,操作指令的类型包括活动(activity)、广播(broadcastreceiver)和服务(service),ams或者wms接收操作指令后,确定该操作指令对应的类型。例如,若操作指令的类型为活动,则超时时长为第一超时时长,第一超时时长可以为5秒;若操作指令的类型为广播,则超时时长为第二超时时长,第二超时时长可以为10秒;若操作指令的类型为服务,则超时时长为第三处理超时时长,第三超时时长可以为20秒。
63.s112、根据所述超时时长确定等待响应时长,其中,所述超时时长大于所述等待响
应时长。
64.本发明实施例中,等待响应时长对应保存界面数据的时机,要实现在发生anr之前保存界面数据,因此,所述等待响应时长小于超时时长,可设定一个预设时长,计算所述超时时长和预设时长的差值,以得到等待响应时长,例如,预设时长为1秒,对于类型为活动的操作指令,第一超时时长为5秒,其对应的等待响应时长为4秒;对于类型为广播的操作指令,第二超时时长为10秒,其对应的等待响应时长为9秒;对于类型为服务的操作指令,第二超时时长为20秒,其对应的等待响应时长为19秒。
65.s12、在操作指令的已接收时长达到所述等待响应时长,且确定操作指令仍未响应时,保存所述操作指令对应的目标界面的界面数据。
66.本发明实施例中,从接收到操作指令开始计时,所述已接收时长为接收到操作指令的时长,若在等待响应时长时,系统还未响应所述操作指令,可认为大概率会发生anr;即,由于,等待响应时长和超时时长之间相差的预设时长较短,例如,所述预设时长为1秒,当接收到操作指令的时间达到等待响应时长,系统还未响应所述操作指令,可认为大概率会发生anr。
67.本发明实施例中,并不是每个操作指令都会发生anr,若接收操作指令达到所述等待响应时长时,系统已经响应该操作指令,必然不可能发生anr,因此,在接收操作指令的同时保存界面数据,会导致浪费系统资源。本发明实施例中,通过在接收操作指令达到所述等待响应时长时,判断操作指令是否完成,可以实现在发生anr的概率较大的情况下,才保存接收操作指令时终端显示的界面对应的界面数据,在很大程度上节约了系统资源。
68.本发明实施例中,可以通过判断操作指令对应的任务是否完成来判断所述操作指令是否仍未响应。
69.具体的,在步骤s1中,响应所述操作指令之后,还包括:
70.m、将所述操作指令加入任务队列。
71.本发明实施例中,接收到操作指令后,将操作指令加入任务队列,主线程会根据任务队列执行各操作指令,操作指令可以是根据先进先出的方式进入和退出任务队列,或者,在任务队列中,优先级高的操作指令排列在优先级低的操作指令之前。
72.与步骤m相应的,步骤s12包括:
73.s121、判断所述操作指令是否还存在于任务队列中。
74.本发明实施例中,在接收操作指令达到所述等待响应时长时,判断操作指令是否存于任务队列中,若所述操作指令不存在于任务队列中,则表示在接收操作指令已经被响应。
75.s122、若所述操作指令还存在于任务队列中,则确定所述操作指令仍未响应。
76.本发明实施例中,在接收操作指令达到所述等待响应时长时,若所述操作指令仍存在于任务队列中,则表示所述操作指令仍未完成响应。由于等待响应时长距离超时时长的时间间隔很短,例如上例中,设置预设时长为1秒,在接收操作指令达到所述等待响应时长时,判定操作指令还未完成,则可以认为发生anr的概率很高。
77.具体的,步骤s12包括:
78.s123、确定目标界面对应的活动标识、广播标识和服务标识。
79.本发明实施例中,对于一个应用程序,所述应用程序中的每个界面均有其对应的
界面标识、广播标识和服务标识;所述活动标识与目标界面对应的活动数据相对应,目标界面为m,所述活动标识为activity-m;所述广播标识与目标界面的活动数据相对应,所述广播标识为broadcast-m;所述服务标识与目标界面对应的服务数据相对应,所述服务标识为service-m。根据活动标识activity-m可确定目标界面对应的活动组件(activityrecord),根据广播标识broadcast-m可确定目标界面对应的广播组件(broadcastrecord),根据服务标识service-m可确定目标界面对应的服务组件(servicerecord)。
80.s124、遍历系统中的数据,以获取所述活动标识对应的活动数据、所述广播标识对应的广播数据以及服务标识对应的服务数据,以得到界面数据。
81.本发明实施例中,遍历系统中的数据,意为将系统数据中的所有数据与目标界面的活动标识、广播标识以及服务标识相匹配,以获取活动标识activity-m对应的活动数据data-activity-m、广播标识broadcast-m对应的广播数据data-broadcast-m以及服务标识service-m对应的服务数据data-service-m。
82.所述界面数据包括活动数据、进程数据和服务数据,根据活动数据、进程数据和服务数据可生成目标界面。在实际使用时,各标识对应的数据保存在各标识分别对应的组件中,根据活动标识activity-m可确定目标界面对应的活动组件(activityrecord),根据广播标识broadcast-m可确定目标界面对应的广播组件(broadcastrecord),根据服务标识service-m可确定目标界面对应的服务组件(servicerecord)后,查找保存在activityrecord中的数据,以得到活动数据;查找保存在broadcastrecord中的数据,以得到广播数据,查找保存在servicerecord中的数据,以得到服务数据。
83.s125、将所述界面数据和所述操作指令关联保存。
84.本发明实施例中,每一个应用对应一个进程组件(processrecord),processrecord中可以保存一个应用程序的多个界面,可将界面数据保存到缓存中,具体的,缓存可以是processrecord对应的动态数组。
85.本发明实施例中,所述界面数据还包括活动标识、广播标识以及服务标识分别对应的实例。将activityrecord中的数据(活动数据),以及activityrecord对应的实例(活动标识对应的实例)保存到processrecord中,将broadcastrecord中的数据(广播数据),以及broadcastrecord对应的实例(广播标识对应的实例)保存到processrecord中,将servicerecord中的数据(服务数据),以及servicerecord对应的实例(服务标识对应的实例)保存到processrecord中;再将processrecord保存到processrecord对应的动态数组中。
86.processrecord动态数组中的保存的所有与活动标识、广播标识以及服务标识对应的内容(包括activityrecord中的数据、activityrecord对应的实例,broadcastrecord中的数据、broadcastrecord对应的实例,processrecord中的数据、processrecord对应的实例),即目标界面的界面数据。可以将processrecord动态数组中保存的目标界面的界面数据和所述操作指令关联保存到processrecord对应的动态数组中。
87.接下来,具体介绍判定操作指令响应失败的过程。
88.具体的,步骤s2包括:
89.s21、根据所述操作指令的类型,确定所述操作指令对应的超时时长。
90.本发明实施例中,超时时长为允许响应操作指令的时长,当系统响应操作指令的
时间超过该操作指令对应的超时时长,则判定为发生anr。ams或wms根据接收的操作类型,确定超时时长,操作指令的类型包括活动(activity)、广播(broadcastreceiver)和服务(service),不同类型分别对应不同的超时时长,ams或wms确定超时时长后,将超时时长发送到系统进程。
91.例如,若操作指令的类型为活动,则超时时长为第一超时时长,第一超时时长可以为5秒;若操作指令的类型为广播,则超时时长为第二超时时长,第二超时时长可以为10秒;若操作指令的类型为服务,则超时时长为第三超时时长,第三超时时长可以为20秒。步骤s21与步骤s111的内容相同,在实际操作时,系统进程只需要进行一次确定超时时长的步骤。
92.s22、在接收操作指令达到所述超时时长时,判断所述操作指令是否还存在于任务队列中。
93.本发明实施例中,系统进程通过判断响应操作指令的时间是否达到超时时长来判断是否发生anr,系统进程已经接收到ams或wms发送的超时时长,在接收操作指令的时间达到超时时长时,系统进程去任务队列中查找操作指令是否还存在队列中,以判定操作指令是否完成响应。
94.s23a、若所述操作指令还存在于任务队列中,则确定所述操作指令响应失败。
95.本发明实施例中,若在接收操作指令达到所述超时时长时,该操作指令还存在于任务队列中,则表示操作指令响应失败,在接收操作指令达到超时时长,且操作指令还未响应时,会发生anr,此时系统会调用apperrors.appnotresponding()函数,表现形式为,弹出一个对话框,以提示当前某个程序无响应。现有技术中,anr对话框显示发生程序无响应,是否退出的内容,以及显示两个选项,一个是等待,一个退出。
96.在另一种实现方式中,可以通过对anr的处理流程判断是否发生anr,监听系统进程是否调用了apperrors.appnotresponding()函数,若监听到系统进程调用了apperrors.appnotresponding()函数,则确定操作指令响应失败。
97.本发明实施例中,与步骤s23a并列的,步骤s2还包括:
98.s23b、若所述操作指令不存在于任务队列中,则删除所述界面数据。
99.本发明实施例中,若所述操作指令不存在于任务队列中,则表示所述操作指令已经执行完毕,因此,必然不会发生anr,操作指令已经执行后,当前终端显示的界面已经不是目标界面,而是在目标界面接收操作指令,并响应操作指令后跳转的界面,即已经不需要根据保存的界面数据生成目标界面,因此,可删除保存的界面数据。
100.本发明实施例中,确定发生anr,则根据所述界面数据显示接收操作指令时的界面,具体的,步骤s2包括:
101.s24、获取保存的所述操作指令对应的界面数据。
102.本发明实施例中,在步骤s125中将界面数据和操作指令关联保存了,在确定发生anr之后,可以通过操作指令获取其对应的界面数据。在发生anr后,可以不弹出anr对话框,而是直接获取所述操作指令对应的界面数据。
103.在另一种实现方式中,确定发生anr后,可以在弹出的程序无响应对话框中增加一个恢复选项,例如,在anr对话框中划分一个区域,以显示“恢复”选项,所述“恢复”选项可与anr对话框中的“等待”选项以及“退出”选项并排,通过选择“恢复”选项,触发获取保存的所
述操作指令对应的界面数据。
104.s25、根据所述界面数据,显示目标界面。
105.本发明实施例中,可以设置在发生anr之后,不弹出anr对话框,而是确定发生anr之后,直接获取界面数据,并根据界面数据显示目标界面,由于此时显示的目标界面是根据界面数据生成的,因此在显示目标界面时,可以加入打开界面的动画,例如,通过“飞入”显示目标界面,以表示这是重新打开的目标界面,另外,在显示界面完成后,可以显示:发生anr,已恢复界面,以便于用户了解发生了anr,可以再次尝试执行此操作指令,或者更换其他操作指令。
106.在另一种实现方式中,确定发生anr后,在弹出的程序无响应对话框中增加一个恢复选项,通过选择“恢复”,触发获取保存的所述操作指令对应的界面数据,在获取保存的界面数据后,直接显示目标界面。同样的,显示目标界面时,可以通过加入打开目标界面的动画,以表示目标界面是根据界面数据生成的。
107.本发明实施例中,在步骤s2之后,即已经根据所述界面数据显示接收操作指令时的界面后,保存的界面数据也已经作用,因此,为了节约系统资源,删除保存的界面数据。
108.为了便于理解,参见图2,图2示出了本发明提供的一种操作指令的响应方法在实际应用时的示意图,所述操作指令的响应方法,包括:
109.a1、主线程接收操作指令,将操作指令加入任务队列,并响应所述操作指令;
110.a2、ams或wms确定操作指令的类型,进而确定操作指令对应的超时时长,将超时时长发送到系统进程;
111.a3、系统进程监听操作指令的已接收时长,若已接收时长达到等待响应时长,则进入a4,其中,所述等待响应时长是根据超时时长确定的,所述等待响应时长小于超时时长;
112.a4、向主线程询问操作指令是否完成响应;
113.a5、主线程确定操作指令是否还在任务队列中;
114.a6、若确定操作指令还在任务队列中,则告知系统进程,操作指令还在任务队列中;
115.a7、系统进程得知操作指令还在任务队列中,表示操作指令还未响应完成,则获取目标界面对应的界面数据;
116.a8、系统进程监听操作指令的已接收时长,若已接收时长达到超时时长,则进入a9;
117.a9、向主线程询问操作指令是否完成响应;
118.a10、主线程确定操作指令是否还在任务队列中;
119.a11、若确定操作指令还在任务队列中,则告知系统进程,操作指令还在任务队列中;
120.a12、确定操作指令响应失败,则获取步骤a7中保存的界面数据,并根据所述界面数据显示目标界面。
121.现有技术中,在发生anr后,可以选择继续等待响应或者退出程序,如果选择继续等待会使用户等待长时间,甚至等待也可能无法响应成功,最后强制退出,退出该应用程序,会造成当前运行状态丢失,给用户带来的使用体验感较差。本发明实施例中,在发生anr之前,获取目标界面的界面数据,若确定该发生anr,则根据界面数据,可恢复到目标界面,
不丢失接收操作指令时的运行状态,提高了用户使用体验。
122.基于一种操作指令的响应方法,本发明还相应提供了一种计算机设备,该设备可以是终端,内部结构如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种操作指令的响应方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
123.本领域技术人员可以理解,图3所示的仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
124.本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
125.响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面;
126.确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面。
127.本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
128.响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面;
129.确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
130.以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
131.应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

技术特征:
1.一种操作指令的响应方法,其特征在于,所述方法包括:响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面;确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面。2.根据权利要求1所述的方法,其特征在于,所述确定所述操作指令对应的目标界面的界面数据,包括:根据所述操作指令的类型,确定所述操作指令对应的等待响应时长;在操作指令的已接收时长达到所述等待响应时长,且确定操作指令仍未响应时,保存所述操作指令对应的目标界面的界面数据。3.根据权利要求2所述的方法,其特征在于,所述响应操作指令之后,还包括:将所述操作指令加入任务队列;相应的,所述确定操作指令仍未响应,包括:判断所述操作指令是否还存在于任务队列中;若所述操作指令还存在于任务队列中,则确定所述操作指令仍未响应。4.根据权利要求3所述的方法,其特征在于,所述确定所述操作指令响应失败,包括:根据所述操作指令的类型,确定所述操作指令对应的超时时长;在接收操作指令达到所述超时时长时,判断所述操作指令是否还存在于任务队列中;若所述操作指令还存在于任务队列中,则确定所述操作指令响应失败。5.根据权利要求2所述的方法,其特征在于,所述确定所述操作指令对应的等待响应时长包括:确定所述操作指令对应的类型,并根据所述类型确定所述操作指令对应的超时时长,其中,所述超时时长用于确定操作指令是否响应失败;根据所述超时时长确定等待响应时长,其中,所述超时时长大于所述等待响应时长。6.根据权利要求2所述的方法,其特征在于,所述界面数据包括活动数据、进程数据和服务数据,所述保存所述操作指令对应的目标界面的界面数据,包括:确定目标界面对应的活动标识、广播标识和服务标识;遍历系统中的数据,以获取所述活动标识对应的活动数据、所述广播标识对应的广播数据以及服务标识对应的服务数据,以得到界面数据;将所述界面数据和所述操作指令关联保存。7.根据权利要求6所述的方法,其特征在于,所述根据所述界面数据显示所述操作指令对应的所述目标界面,包括:获取保存的所述操作指令对应的界面数据;根据所述界面数据,显示目标界面。8.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述操作指令不存在于任务队列中,则删除所述界面数据。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序
被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
技术总结
本发明公开了一种操作指令的响应方法和计算机设备。该方法包括:响应操作指令,并确定所述操作指令对应的目标界面的界面数据,其中,所述目标界面为接收操作指令时终端所显示的界面;确定所述操作指令响应失败,则根据所述界面数据显示所述操作指令对应的所述目标界面,本发明在操作指令响应失败之前,保存接收操作指令时显示的目标界面所对应的数据,在确定操作指令响应失败时,根据保存的界面数据,显示操作目标界面,以实现不丢失接收操作指令时的运行状态,用户不用继续等待,也不用退出程序。退出程序。退出程序。


技术研发人员:张俊恒
受保护的技术使用者:深圳TCL数字技术有限公司
技术研发日:2019.12.31
技术公布日:2021/7/15

转载请注明原文地址:https://doc.8miu.com/read-650047.html

最新回复(0)