CN106502817A - 一种处理数据的方法和终端 - Google Patents

一种处理数据的方法和终端 Download PDF

Info

Publication number
CN106502817A
CN106502817A CN201610947028.5A CN201610947028A CN106502817A CN 106502817 A CN106502817 A CN 106502817A CN 201610947028 A CN201610947028 A CN 201610947028A CN 106502817 A CN106502817 A CN 106502817A
Authority
CN
China
Prior art keywords
terminal
application program
state
interface
interface assembly
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610947028.5A
Other languages
English (en)
Inventor
王建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201610947028.5A priority Critical patent/CN106502817A/zh
Publication of CN106502817A publication Critical patent/CN106502817A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

本发明实施例公开了一种处理数据的方法,应用于一终端,所述方法包括:根据接收到的对所述终端的应用程序发出的操作,生成操作指令;根据所述操作指令对所述应用程序进行操作,得到与所述应用程序对应的各界面组件的状态;按照时间顺序将所述各界面组件的状态写入所述终端的队列中。本发明实施例还同时公开了一种终端。

Description

一种处理数据的方法和终端
技术领域
本发明涉及终端应用领域,尤其涉及一种处理数据的方法和终端。
背景技术
目前,随着智能终端的快速增长,为了满足用户的需求,市场上的应用程序琳琅满目,例如,基于安卓***的应用程序的种类越来越多,随之使得每个用户终端上的应用程序也越来越丰富。
然而,用户在使用应用程序的过程中,或多或少的遇到各种异常并发生应用程序崩溃的现象,而大部分上线应用程序的崩溃(Crash)不是每次都会发生,对于应用程序崩溃后,用户在终端上继续操作该应用程序需要重新启动该应用程序,并重头开始操作,导致操作繁琐,用户体验度降低。
发明内容
有鉴于此,本发明的主要目的在于提出一种处理数据的方法和终端,旨在当应用程序崩溃后,使得终端能够将该应用程序恢复到发生异常时的状态,提高用户体验度。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种处理数据的方法,应用于一终端,所述方法包括:根据接收到的对所述终端的应用程序发出的操作,生成操作指令;根据所述操作指令对所述应用程序进行操作,得到与所述应用程序对应的各界面组件的状态;按照时间顺序将所述各界面组件的状态写入所述终端的队列中。
可选地,在按照时间顺序将所述各界面组件的状态写入所述终端的队列中之后,所述方法还包括:在确定所述应用程序发生异常时,按照所述队列的先进先出规则读取所述队列中的所述各界面组件的状态;根据所述各界面组件的状态对所述应用程序进行恢复。
可选地,所述确定所述应用程序发生异常,包括:检测所述应用程序;在所述应用程序出现的异常状况满足预设条件时,确定所述应用程序发生异常。
可选地,所述预设条件为:所述应用程序出现的异常状况不是空指针异常;或者,本次出现异常状况的时间与上一次出现的相同异常状况的时间的间隔大于预设时间。
可选地,所述各界面组件的状态包括:各界面的输入数据、各界面的输出数据、各界面的各控件的参数、各界面与各控件的对应关系。
第二方面,本发明实施例提供了一种终端,所述终端包括:生成模块,用于根据接收到的对所述终端的应用程序发出的操作,生成操作指令;操作模块,用于根据所述操作指令对所述应用程序进行操作,得到与所述应用程序对应的各界面组件的状态;写入模块,用于按照时间顺序将所述各界面组件的状态写入所述终端的队列中。
可选地,所述终端还包括:恢复模块,用于在按照时间顺序将所述各界面组件的状态写入所述终端的队列中之后;在确定所述应用程序发生异常时,按照所述队列的先进先出规则读取所述队列中的所述各界面组件的状态;根据所述各界面组件的状态对所述应用程序进行恢复。
可选地,所述恢复模块,具体用于检测所述应用程序;在所述应用程序出现的异常状况满足预设条件时,确定所述应用程序发生异常。
可选地,所述预设条件为:所述应用程序出现的异常状况不是空指针异常;或者,本次出现异常状况的时间与上一次出现的相同异常状况的时间的间隔大于预设时间。
可选地,所述各界面组件的状态包括:各界面的输入数据、各界面的输出数据、各界面的各控件的参数、各界面与各控件的对应关系。
本发明实施例所提供的一种处理数据的方法和终端,首先,根据接收到的对终端的应用程序发出的操作,生成操作指令,然后根据操作指令对应用程序进行操作,得到了与应用程序对应的各界面组件的状态,并按照得到各界面组件的状态的时间顺序,将各界面组件的状态写入终端的队列中;这样,使得终端的队列中保存有所有对应用程序进行操作后所得到的各界面组件的状态,那么,当应用程序发生异常导致应用程序崩溃时,由于在终端的队列中存储有应用程序的各界面组件的状态,使得终端能够恢复到该应用程序发生异常之前的状态,以避免用户在应用程序发生异常导致应用程序崩溃后,重新操作进入应用程序的繁琐操作,提高了用户的体验度。
附图说明
图1为实现本发明各个实施例的一种可选的终端的硬件结构示意图;
图2为如图1所示的移动终端的无线通信***示意图;
图3为本发明实施例一中的处理数据的方法的流程示意图;
图4-1为本发明实施例一中的应用程序的一种可选的界面示意图;
图4-2为本发明实施例一中的应用程序的另一种可选的界面示意图;
图5为本发明实施例二中的处理数据的方法的一种可选的流程示意图;
图6为本发明实施例二中一种可选的终端的结构示意图;
图7为本发明实施例二中一种可选的处理数据的方法的流程示意图;
图8为本发明实施例三中的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
现在将参考附图1来描述实现本发明各个实施例的终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)、便携式多媒体播放器(PMP)、导航装置等等的终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为实现本发明各个实施例的一种可选的终端的硬件结构示意。
终端100可以包括无线通信单元110、音频/视频(A/V)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的终端,但是应理解的是,并不要求实施所有示出的组件,可以替代地实施更多或更少的组件,将在下面详细描述终端的元件。
无线通信单元110通常包括一个或多个组件,其允许终端100与无线通信***或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。
广播接收模块111经由广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。广播信道可以包括卫星信道和/或地面信道。广播管理服务器可以是生成并发送广播信号和/或广播相关信息的服务器或者接收之前生成的广播信号和/或广播相关信息并且将其发送给终端的服务器。广播信号可以包括TV广播信号、无线电广播信号、数据广播信号等等。而且,广播信号可以进一步包括与TV或无线电广播信号组合的广播信号。广播相关信息也可以经由移动通信网络提供,并且在该情况下,广播相关信息可以由移动通信模块112来接收。广播信号可以以各种形式存在,例如,其可以以数字多媒体广播(DMB)的电子节目指南(EPG)、数字视频广播手持(DVB-H)的电子服务指南(ESG)等等的形式而存在。广播接收模块111可以通过使用各种类型的广播***接收信号广播。特别地,广播接收模块111可以通过使用诸如多媒体广播-地面(DMB-T)、数字多媒体广播-卫星(DMB-S)、数字视频广播-手持(DVB-H),前向链路媒体(MediaFLO@)的数据广播***、地面数字广播综合服务(ISDB-T)等等的数字广播***接收数字广播。广播接收模块111可以被构造为适合提供广播信号的各种广播***以及上述数字广播***。经由广播接收模块111接收的广播信号和/或广播相关信息可以存储在存储器160(或者其它类型的存储介质)中。
移动通信模块112将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
无线互联网模块113支持终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括WLAN(无线LAN)(Wi-Fi)、Wibro(无线宽带)、Wimax(全球微波互联接入)、HSDPA(高速下行链路分组接入)等等。
短程通信模块114是用于支持短程通信的模块。短程通信技术的一些示例包括蓝牙TM、射频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)、紫蜂TM等等。
位置信息模块115是用于检查或获取终端的位置信息的模块。位置信息模块115的典型示例是GPS。根据当前的技术,作为GPS的位置信息模块115计算来自三个或更多卫星的距离信息和准确的时间信息并且对于计算的信息应用三角测量法,从而根据经度、纬度和高度准确地计算三维当前位置信息。当前,用于计算位置和时间信息的方法使用三颗卫星并且通过使用另外的一颗卫星校正计算出的位置和时间信息的误差。此外,GPS模块115能够通过实时地连续计算当前位置信息来计算速度信息。
A/V输入单元120用于接收音频或视频信号。A/V输入单元120可以包括相机121和麦克风122,相机121对在视频捕获模式或图像捕获模式中由图像捕获装置获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元151上。经相机121处理后的图像帧可以存储在存储器160(或其它存储介质)中或者经由无线通信单元110进行发送,可以根据终端的构造提供两个或更多相机121。麦克风122可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风122接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由移动通信模块112发送到移动通信基站的格式输出。麦克风122可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
用户输入单元130可以根据用户输入的命令生成键输入数据以控制终端的各种操作。用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元151上时,可以形成触摸屏。
感测单元140检测终端100的当前状态,(例如,终端100的打开或关闭状态)、终端100的位置、用户对于终端100的接触(即,触摸输入)的有无、终端100的取向、终端100的加速或减速移动和方向等等,并且生成用于控制终端100的操作的命令或信号。例如,当终端100实施为滑动型移动电话时,感测单元140可以感测该滑动型电话是打开还是关闭。另外,感测单元140能够检测电源单元190是否提供电力或者接口单元170是否与外部装置耦接。感测单元140可以包括接近传感器141将在下面结合触摸屏来对此进行描述。
接口单元170用作至少一个外部装置与终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。识别模块可以是存储用于验证用户使用终端100的各种信息并且可以包括用户识别模块(UIM)、客户识别模块(SIM)、通用客户识别模块(USIM)等等。另外,具有识别模块的装置(下面称为"识别装置")可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端100内的一个或多个元件或者可以用于在终端和外部装置之间传输数据。
另外,当终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到终端的路径。从底座输入的各种命令信号或电力可以用作用于识别终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元150可以包括显示单元151、音频输出模块152、警报单元153等等。
显示单元151可以显示在终端100中处理的信息。例如,当终端100处于电话通话模式时,显示单元151可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当终端100处于视频通话模式或者图像捕获模式时,显示单元151可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
同时,当显示单元151和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元151可以用作输入装置和输出装置。显示单元151可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,终端100可以包括两个或更多显示单元(或其它显示装置),例如,终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
音频输出模块152可以在终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块152可以提供与终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块152可以包括扬声器、蜂鸣器等等。
存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储已经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。
存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。
控制器180通常控制终端的总体操作。例如,控制器180执行与语音通话、数据通信、视频通话等等相关的控制和处理。另外,控制器180可以包括用于再现(或回放)多媒体数据的多媒体模块181,多媒体模块181可以构造在控制器180内,或者可以构造为与控制器180分离。控制器180可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。
电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。
至此,已经按照其功能描述了终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型终端等等的各种类型的终端中的滑动型终端作为示例。因此,本发明能够应用于任何类型的终端,并且不限于滑动型终端。
如图1中所示的终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通信***以及基于卫星的通信***来操作。
现在将参考图2描述其中根据本发明的移动终端能够操作的通信***。
这样的通信***可以使用不同的空中接口和/或物理层。例如,由通信***使用的空中接口包括例如频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)和通用移动通信***(UMTS)(特别地,长期演进(LTE))、全球移动通信***(GSM)等等。作为非限制性示例,下面的描述涉及CDMA通信***,但是这样的教导同样适用于其它类型的***。
参考图2,CDMA无线通信***可以包括多个移动终端100、多个基站(BS)270、基站控制器(BSC)275和移动交换中心(MSC)280。MSC280被构造为与公共电话交换网络(PSTN)290形成接口。MSC280还被构造为与可以经由回程线路耦接到基站270的BSC275形成接口。回程线路可以根据若干已知的接口中的任一种来构造,所述接口包括例如E1/T1、ATM,IP、PPP、帧中继、HDSL、ADSL或xDSL。将理解的是,如图2中所示的***可以包括多个BSC275。
每个BS270可以服务一个或多个分区(或区域),由多向天线或指向特定方向的天线覆盖的每个分区放射状地远离BS270。或者,每个分区可以由用于分集接收的两个或更多天线覆盖。每个BS270可以被构造为支持多个频率分配,并且每个频率分配具有特定频谱(例如,1.25MHz,5MHz等等)。
分区与频率分配的交叉可以被称为CDMA信道。BS270也可以被称为基站收发器子***(BTS)或者其它等效术语。在这样的情况下,术语“基站”可以用于笼统地表示单个BSC275和至少一个BS270。基站也可以被称为“蜂窝站”。或者,特定BS270的各分区可以被称为多个蜂窝站。
如图2中所示,广播发射器(BT)295将广播信号发送给在***内操作的移动终端100。如图1中所示的广播接收模块111被设置在移动终端100处以接收由BT295发送的广播信号。在图2中,示出了几个全球定位***(GPS)卫星300。卫星300帮助定位多个移动终端100中的至少一个。
在图2中,描绘了多个卫星300,但是理解的是,可以利用任何数目的卫星获得有用的定位信息。如图1中所示的GPS模块115通常被构造为与卫星300配合以获得想要的定位信息。替代GPS跟踪技术或者在GPS跟踪技术之外,可以使用可以跟踪移动终端的位置的其它技术。另外,至少一个GPS卫星300可以选择性地或者额外地处理卫星DMB传输。
作为无线通信***的一个典型操作,BS270接收来自各种移动终端100的反向链路信号。移动终端100通常参与通话、消息收发和其它类型的通信。特定基站270接收的每个反向链路信号被在特定BS270内进行处理。获得的数据被转发给相关的BSC275。BSC提供通话资源分配和包括BS270之间的软切换过程的协调的移动管理功能。BSC275还将接收到的数据路由到MSC280,其提供用于与PSTN290形成接口的额外的路由服务。类似地,PSTN290与MSC280形成接口,MSC与BSC275形成接口,并且BSC275相应地控制BS270以将正向链路信号发送到移动终端100。
下面将基于上述终端硬件结构以及通信***,提出本发明方法各个实施例。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
实施例一
基于前述的实施例,本发明实施例提供一种处理数据的方法,该方法应用于终端,该处理数据的方法所实现的功能可以通过终端中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该终端至少包括处理器和存储介质。
本实施例提供一种处理数据的方法,图3为本发明实施例一中的处理数据的方法的流程示意图,如图3所示,该处理数据的方法包括:
S301:根据接收到的对终端的应用程序发出的操作,生成操作指令;
具体来说,用户按照自身的需求,打开某个应用程序,在当前界面上用户可以对应用程序进行操作,使得终端接收到来自用户对终端的应用程序所发出的操作,然后终端将接收到的用户对该应用程序所进行的所有操作,生成操作指令;
其中,上述用户对应用程序所进行的操作可以包括:点击操作、上滑操作、下滑操作、左滑操作、右滑操作、长按操作、输入操作、复制操作、粘贴操作等等;上述操作指令可以用于终端中的应用程序完成上滑功能、下滑功能、左滑功能、复制粘贴功能等等;这里,本发明实施例不做具体限定。
这里,需要说明的是,上述对终端的应用程序发出的操作包括:从打开应用程序的操作开始,包括打开应用程序的操作在内的所有操作。
举例来说,在应用(App,Application)1关闭的状态下,用户发出对App1图标的点击操作,终端根据点击操作生成对应的操作指令,然后用户在App1的界面上每进行一个操作,就生成对应的操作指令,也就是说,上述终端所接收到的对终端应用程序发出的操作是从对App1图标的点击操作开始,并且包括该点击操作在内的之后进行的所有操作。
通过S301,终端将用户对终端的应用程序发出的操作,转换成了操作指令,使得终端可以根据操作指令来响应用户发出的对终端的应用程序的操作。
S302:根据操作指令对应用程序进行操作,得到与应用程序对应的各界面组件的状态;
其中,上述根据操作指令对应用程序进行操作可以包括:当操作指令为打开指令时,终端打开应用程序,或者,当操作指令为上滑指令时,终端将应用程序的当前界面向上滑动;这里,本发明实施例对根据操作指令对应用程序进行操作不限于此;
相应地,当操作指令为打开指令时,终端打开应用程序,那么,得到的界面组件的状态为应用程序的首页面对应的界面组件的状态;或者,当操作指令为上滑指令时,那么,得到的界面组件的状态为应用程序上滑后的界面对应的界面组件的状态。
举例来说,以安卓***为例,安卓***的四大组件都是由AMS(AndroidManifest)这个服务进行管理,界面组件(Activity)作为四大组件之一,用于承接安卓***的应用界面;
那么,在S301中,生成操作指令之后,对根据操作指令对终端的应用程序进行操作可以得到与应用程序对应的各个界面,而每个界面对应有一个Activity,一个Activity的状态包括多个控件,每个控件可以包括多个用于显示在终端的显示界面上的显示参数,所以,当运行中的应用程序发生异常导致应用程序发生崩溃,终端可以根据得到的各界面组件的状态,使得终端能够恢复至发生异常时的界面。
另外,上述操作指令为多个时,根据操作指令的执行顺序生成与应用程序对应的各界面组件的状态,也就是说,该各界面组件的状态也是具有时间顺序的。
还是以应用程序为App1来举例说明,图4-1为本发明实施例一中应用程序的一种可选的时界面的示意图;如图4-1所示,用户点击App1图标,终端的显示界面显示App1首页,此时,可以得到将该App1首页对应的界面组件的状态,然后,图4-2为本发明实施例一中应用程序的另一种可选的时界面的示意图;如图4-2所示,用户点击App1首页中的图片,打开图片,终端的显示界面上显示该图片,此时,可以得到该图片对应的界面组件的状态。
至此,便得到了与应用程序对应的各界面组件的状态。
S303:按照时间顺序将各界面组件的状态写入终端的队列中。
在S302中,得到了具有时间顺序的各界面组件的状态之后,那么,仍然要按照时间顺序将各界面组件的状态写入终端的队列中,这里,由于队列是按照先进先出的规则来写入和读取的,所以,采用队列写入各界面组件的状态的方式有利于应用程序发生异常时及时地恢复至发生异常之前的状态;
需要说明的是,这里,需要将该应用程序从打开开始得到的所有的界面组件的状态都写入终端的队列中;
还是以安卓***为例,在终端的应用程序发生异常导致应用程序崩溃需要恢复时,需要进行Activity恢复,如果终端的队列中仅仅存储了当前界面的Activity的状态,那么,只能够恢复至当前的Activity,这将导致用户按返回键后直接退出程序,而不是退回到前一页,因此,需要将应用程序自启动的所有Activity的状态写入终端的队列中,进而使得终端在恢复操作时能够恢复整个队列中所有的Activity的状态。
这里,仍然以应用程序为App1为例,用户点击App1图标,终端的显示界面显示App1首页(如图4-1所示),此时,可以得到App1首页对应的界面组件的状态,将App1首页对应的界面组件的状态写入终端的队列中,然后用户点击App1首页中的图片,打开该图片,终端的显示界面上显示该图片(如图4-2所示),此时可以得到该图片对应的界面组件的状态,将该图片对应的界面组件的状态写入终端的队列中,随后,以此类推。
这样,可以将各界面组件的状态按照时间的先后顺序写入终端的队列中,保障队列中保存的各界面组件的状态的准确性。
本发明实施例所提供的一种处理数据的方法,首先,根据接收到的对终端的应用程序发出的操作,生成操作指令,然后根据操作指令对应用程序进行操作,得到了与应用程序对应的各界面组件的状态,并按照得到各界面组件的状态的时间顺序,将各界面组件的状态写入终端的队列中;这样,使得终端的队列中保存有所有对应用程序进行操作后所得到的各界面组件的状态,那么,当应用程序发生异常导致应用程序崩溃时,由于在终端的队列中存储有应用程序的各界面组件的状态,使得终端能够恢复到该应用程序发生异常之前的状态,以避免用户在应用程序发生异常导致应用程序崩溃后,重新操作进入应用程序的繁琐操作,提高了用户的体验度。
实施例二
基于前述的实施例,本实施例提供一种处理数据的方法,该方法应用于终端,该处理数据的方法所实现的功能可以通过终端中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该终端至少包括处理器和存储介质。
图5为本发明实施例二中的处理数据的方法的一种可选的流程示意图,如图5所示,在上述实施例一的基础上,在S303之后,上述方法还可以包括:
S501:在确定应用程序发生异常时,按照队列的先进先出规则读取队列中的各界面组件的状态;
在具体实施过程中,终端在运行上述应用程序的过程中,终端中的应用程序发生异常,导致该应用程序崩溃,例如,当终端在运行App1时,出现异常情况,使得运行中的App1即将停止运行或者被迫关闭时,为了避免App1停止运行或者被迫关闭,此时,终端按照队列的先进先出规则,读取队列中的各界面组件的状态;
其中,由于写入各界面组件的状态是将应用程序自启动的所有的界面组件的状态写入队列中的,所以,此时读取出的各界面组件的状态为应用程序自启动的所有的界面组件的状态。
在实际应用中,终端的应用程序出现异常的种类很多,有些种类的异常是可以通过读取队列中的各界面组件的状态来恢复应用程序的,而有些种类的异常是不可以通过读取队列中的各界面组件的状态来恢复应用程序的,所以,在应用程序出现异常时,需要先对所出现的异常进行筛选,在一种可选的实施例中,为了筛选出可恢复的异常,在S501中,确定应用程序发生异常的方法可以包括:
检测应用程序;在应用程序出现的异常状况满足预设条件时,确定应用程序发生异常。
首先,终端对应用程序实时的进行检测,当应用程序出现异常时,判断所出现的异常状况是否满足预设条件,在满足的情况下,确定应用程序发生异常,在不满足的情况下,不确定应用程序发生异常;也就是说,只有当所出现的异常状况满足预设条件时,所出现的异常才是终端可恢复的异常,在不满足预设条件的情况下,所出现的异常为终端不可恢复的异常。
其中,上述预设条件可以为:应用程序出现的异常状况不是空指针异常;或者,本次出现异常状况的时间与上一次出现的相同异常状况的时间的间隔大于预设时间。
具体来说,当应用程序出现的异常状况不是空指针异常时,或者,当本次出现的异常状况时的时间点与上一次出现的相同异常状况的时间点之间的时间间隔大于预设时间时,确定该异常是可以恢复的异常。
其中,空指针异常指的应用程序在运行的过程中,后台运行的程序代码指向空指针;
另外,上述预设时间是可以预先进行设置,在本次出现异常状况的时间与上一次出现的相同异常状况的时间的间隔大于预设时间,说明本次出现的异常状况不是频繁重复出现的不可恢复的异常,所以确定为可恢复的异常。
S502:根据各界面组件的状态对应用程序进行恢复。
在S501中,按照队列先进先出的规则,读取出队列中的应用程序的各界面组件的状态之后,终端根据各界面组件的状态,模拟用户对终端的应用程序的操作,使得终端生成操作指令,进而使得终端恢复至应用程序发生异常崩溃之前的界面;
并且,由于写入各界面组件的状态是将应用程序自启动的所有的界面组件的状态写入队列中的,那么,终端可以读取到应用程序自启动的所有的界面组件的状态,进而使得终端可以恢复至应用程序发生异常崩溃之前的界面,当用户按返回键后能够退回到前一页。
其中,上述实施例中的各界面组件的状态可以包括:各界面的输入数据、各界面的输出数据、各界面的各控件的参数、各界面与各控件的对应关系。
另外,上述各界面的输入数据可以包括应用程序从一个界面跳转到下一界面的输入的数据和输出数据,上述各界面的输出数据可以包括应用程序从一个界面跳转到下一界面的输出的数据,上述各界面的各控件的参数为各界面对应的控件中用于显示的显示参数,各界面与各控件的对应关系可以通过界面与控件的映射表的形式存储的,在界面与控件的映射表中,每个界面都对应有多个控件。
下面举实例来对上述处理数据的方法进行说明。
图6为本发明实施例二中一种可选的终端的结构示意图;参考图6中所示,上述终端可以包括:异常监测模块61、队列数据存储模块62和异常恢复模块63;
其中,异常监测模块61负责监听和筛选异常导致的Crash,例如,在安卓***中,终端可以使用安卓原生异常捕获接口UncaughtExceptionHandler监听异常的发生,同时判断异常的种类,这里,异常种类可以分为可恢复异常和不可恢复异常,对于部分不可恢复的异常不能走恢复流程,例如,应用程序出现的异常状况不是空指针异常;或者,本次出现异常状况的时间与上一次出现的相同异常状况的时间的间隔大于预设时间。
上述队列数据存储模块62存储自进程启动开始的Activity的状态,记录前一个Activity跳转到后一个Activity的输入输出状态,同时建立当前控件状态的映射表,存储当前界面控件的数据状态和数据值;当异常发生,进程退出之前,触发保存各控件的状态。
上述异常恢复模块63负责进程重启并恢复到异常发生之前的状态,当异常发生,异常监测模块63触发异常恢复模块63读取当前进程的Activity的状态,重新启动进程并分别依次启动队列中的Activity,最后读取异常发生页面各个控件的状态,恢复该界面至Crash之前的状态。
基于上述图6的结构,仍然以安卓***为举例说明,图7为本发明实施例二中一种可选的处理数据的方法的流程示意图;如图7所示,该处理数据的方法如下:
S701:用户对应用程序进行点击操作,使得终端启动该应用程序,应用程序的进程启动,产生各个Activity的状态;
S702:队列数据存储模块62将产生的各个Activity的状态按照时间顺序写入终端的队列中;
S703:异常监测模块61实时检测该应用程序;
S704:异常监测模块61检测到该应用程序是否出现异常,如果是,则进入S705;如果否,则进入S703;
S705:异常监测模块61判断该异常Crash的种类是否为可恢复异常;如果是,则进入S706;如果否,则执行进程退出;
S706:异常恢复模块63从队列数据存储模块62中依次读取各个Activity的状态;
S707:异常恢复模块63在读取完最后一个Activity的状态之后,对应用程序进行恢复;
S708:异常恢复模块63判断该应用程序正常启动并恢复至异常Crash出现之前的状态;如果是,则恢复成功,如果否,则恢复失败。
采用上述实施例中,当用户遇到程序异常报错时,能恢复异常之前的状态,使用户甚至觉察不到异常的发生,大大增强了用户使用智能手机的体验。
实施例三
基于前述的方法实施例,本实施例提供一种终端,该终端中的生成模块、操作模块、写入模块和恢复模块,都可以通过终端中的处理器来实现,当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
本实施例所提供的终端,图8为本发明实施例三中的终端的结构示意图,如图8所示,该终端包括生成模块81、操作模块82和写入模块83,其中,
生成模块81,用于根据接收到的对终端的应用程序发出的操作,生成操作指令;操作模块82,用于根据操作指令对所述应用程序进行操作,得到与应用程序对应的各界面组件的状态;写入模块83,用于按照时间顺序将各界面组件的状态写入终端的队列中。
其中,上述各界面组件的状态包括:各界面的输入数据、各界面的输出数据、各界面的各控件的参数、各界面与各控件的对应关系。
在具体实施过程中,终端在运行上述应用程序的过程中,终端中的应用程序发生异常,导致该应用程序崩溃,为了及时地恢复该应用程序至异常崩溃之前的状态,在一种可选的实施例中,上述终端还包括:恢复模块,用于在按照时间顺序将各界面组件的状态写入终端的队列中之后;在确定应用程序发生异常时,按照队列的先进先出规则读取队列中的所述各界面组件的状态;根据各界面组件的状态对应用程序进行恢复。
在实际应用中,终端的应用程序出现异常的种类很多,有些种类的异常是可以通过读取队列中的各界面组件的状态来恢复应用程序的,而有些种类的异常是不可以通过读取队列中的各界面组件的状态来恢复应用程序的,所以,在应用程序出现异常时,需要先对所出现的异常进行筛选,在一种可选的实施例中,上述恢复模块,具体用于检测应用程序;在应用程序出现的异常状况满足预设条件时,确定应用程序发生异常。
其中,上述预设条件为:
应用程序出现的异常状况不是空指针异常;或者,本次出现异常状况的时间与上一次出现的相同异常状况的时间的间隔大于预设时间。
这里需要指出的是:以上终端实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明终端实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解,为节约篇幅,这里不再赘述。
这里需要指出的是:
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种处理数据的方法,其特征在于,应用于一终端,所述方法包括:
根据接收到的对所述终端的应用程序发出的操作,生成操作指令;
根据所述操作指令对所述应用程序进行操作,得到与所述应用程序对应的各界面组件的状态;
按照时间顺序将所述各界面组件的状态写入所述终端的队列中。
2.根据权利要求1所述的方法,其特征在于,在按照时间顺序将所述各界面组件的状态写入所述终端的队列中之后,所述方法还包括:
在确定所述应用程序发生异常时,按照所述队列的先进先出规则读取所述队列中的所述各界面组件的状态;
根据所述各界面组件的状态对所述应用程序进行恢复。
3.根据权利要求2所述的方法,其特征在于,所述确定所述应用程序发生异常,包括:
检测所述应用程序;
在所述应用程序出现的异常状况满足预设条件时,确定所述应用程序发生异常。
4.根据权利要求3所述的方法,其特征在于,所述预设条件为:
所述应用程序出现的异常状况不是空指针异常;
或者,本次出现异常状况的时间与上一次出现的相同异常状况的时间的间隔大于预设时间。
5.根据权利要求1所述的方法,其特征在于,所述各界面组件的状态包括:
各界面的输入数据、各界面的输出数据、各界面的各控件的参数、各界面与各控件的对应关系。
6.一种终端,其特征在于,所述终端包括:
生成模块,用于根据接收到的对所述终端的应用程序发出的操作,生成操作指令;
操作模块,用于根据所述操作指令对所述应用程序进行操作,得到与所述应用程序对应的各界面组件的状态;
写入模块,用于按照时间顺序将所述各界面组件的状态写入所述终端的队列中。
7.根据权利要求6所述的终端,其特征在于,所述终端还包括:
恢复模块,用于在按照时间顺序将所述各界面组件的状态写入所述终端的队列中之后;在确定所述应用程序发生异常时,按照所述队列的先进先出规则读取所述队列中的所述各界面组件的状态;根据所述各界面组件的状态对所述应用程序进行恢复。
8.根据权利要求7所述的终端,其特征在于,所述恢复模块,具体用于检测所述应用程序;在所述应用程序出现的异常状况满足预设条件时,确定所述应用程序发生异常。
9.根据权利要求8所述的终端,其特征在于,所述预设条件为:
所述应用程序出现的异常状况不是空指针异常;
或者,本次出现异常状况的时间与上一次出现的相同异常状况的时间的间隔大于预设时间。
10.根据权利要求6所述的终端,其特征在于,所述各界面组件的状态包括:
各界面的输入数据、各界面的输出数据、各界面的各控件的参数、各界面与各控件的对应关系。
CN201610947028.5A 2016-10-26 2016-10-26 一种处理数据的方法和终端 Pending CN106502817A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610947028.5A CN106502817A (zh) 2016-10-26 2016-10-26 一种处理数据的方法和终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610947028.5A CN106502817A (zh) 2016-10-26 2016-10-26 一种处理数据的方法和终端

Publications (1)

Publication Number Publication Date
CN106502817A true CN106502817A (zh) 2017-03-15

Family

ID=58322909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610947028.5A Pending CN106502817A (zh) 2016-10-26 2016-10-26 一种处理数据的方法和终端

Country Status (1)

Country Link
CN (1) CN106502817A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804299A (zh) * 2017-04-26 2018-11-13 腾讯科技(深圳)有限公司 应用程序异常处理方法及装置
CN112333497A (zh) * 2020-09-28 2021-02-05 深圳Tcl新技术有限公司 用户数据显示方法、装置、设备及可读存储介质
CN114527897A (zh) * 2020-10-30 2022-05-24 国际商业机器公司 在应用之间跟踪和恢复指针位置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739887A (zh) * 2012-06-06 2012-10-17 广东欧珀移动通信有限公司 一种基于触摸屏手机的无线控制方法
CN104346267A (zh) * 2013-08-08 2015-02-11 腾讯科技(深圳)有限公司 生成程序缺陷定位信息的方法及装置
US20150058679A1 (en) * 2013-08-26 2015-02-26 Google Inc. Application resource utilizaton management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739887A (zh) * 2012-06-06 2012-10-17 广东欧珀移动通信有限公司 一种基于触摸屏手机的无线控制方法
CN104346267A (zh) * 2013-08-08 2015-02-11 腾讯科技(深圳)有限公司 生成程序缺陷定位信息的方法及装置
US20150058679A1 (en) * 2013-08-26 2015-02-26 Google Inc. Application resource utilizaton management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RUYYIO: "《http://www.docin.com/p-1730905859.html》", 9 September 2016 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804299A (zh) * 2017-04-26 2018-11-13 腾讯科技(深圳)有限公司 应用程序异常处理方法及装置
CN112333497A (zh) * 2020-09-28 2021-02-05 深圳Tcl新技术有限公司 用户数据显示方法、装置、设备及可读存储介质
CN114527897A (zh) * 2020-10-30 2022-05-24 国际商业机器公司 在应用之间跟踪和恢复指针位置

Similar Documents

Publication Publication Date Title
CN104750420B (zh) 截屏方法及装置
CN104777979B (zh) 终端及其触控操作方法和装置
CN104750417A (zh) 无边框终端的应用切换方法及无边框终端
CN105867789A (zh) 防止误操作的装置和方法
CN104917896A (zh) 一种推送数据的方法和终端设备
CN106933489A (zh) 防止屏幕误操作的方法及装置
CN106130734A (zh) 移动终端的控制方法及控制装置
CN106909900A (zh) 指纹识别方法及装置
CN106161134A (zh) 移动终端自动化测试方法、装置及移动终端
CN106610770A (zh) 一种图片查看方法及装置
CN105511715A (zh) 一种利用无边框触屏启动程序助手的方法及装置
CN104777982B (zh) 终端输入法的切换方法及装置
CN105120054B (zh) 信息处理方法及移动终端
CN105162960A (zh) 一种无边框移动终端的拍照装置和方法
CN106775372A (zh) 一种悬浮操作盘的显示调整方法、装置及终端
CN104951549A (zh) 一种移动终端及其照片/视频分类管理方法
CN106302992A (zh) 一种移动终端及屏幕点亮方法
CN106598538A (zh) 指令集合更新方法及***
CN106502817A (zh) 一种处理数据的方法和终端
CN106028382A (zh) Nv参数读写装置和方法
CN105573916A (zh) 故障检测方法及移动终端
CN104866095A (zh) 移动终端及其桌面管理方法和装置
CN105183830B (zh) 图片浏览方法及装置
CN106993134A (zh) 一种图像生成装置和方法、终端
CN106790994A (zh) 控件的触发方法及移动终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170315