CN110308951A - 一种启动界面卡顿的处理方法及装置、设备、存储介质 - Google Patents
一种启动界面卡顿的处理方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN110308951A CN110308951A CN201910579199.0A CN201910579199A CN110308951A CN 110308951 A CN110308951 A CN 110308951A CN 201910579199 A CN201910579199 A CN 201910579199A CN 110308951 A CN110308951 A CN 110308951A
- Authority
- CN
- China
- Prior art keywords
- time period
- app
- caton
- startup interface
- interface
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种启动界面卡顿的处理方法,所述方法包括:当接收到用于启动APP的第一请求时,创建卡顿处理进程;当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;当所述第一时间段大于预设时间段时,结束所述卡顿处理进程。本申请实施例还提供了一种启动界面卡顿的处理装置、设备和存储介质。
Description
技术领域
本申请实施例涉及电子技术,涉及但不限于一种启动界面卡顿的处理方法及装置、设备、存储介质。
背景技术
目前,手机、笔记本电脑等电子设备逐渐成为人们生活中重要的组成部分,各式各样的手机应用(Application,APP)丰富着人们的生活,电子设备上的手机应用的种类和数量也越来越多。
现今的APP在启动时大多首先会呈现一个启动界面给使用者,经过一段时间后再跳转到APP的主界面供用户使用。其目的一个是为了掩饰主界面缓慢的加载过程,另一个则是便于展示广告。但由于市面上的APP品质良莠不齐,不乏有APP会出现卡死在启动界面无法跳转到主界面的现象发生,随着发生次数的增多,会让用户误以为是手机的质量问题。
发明内容
有鉴于此,本申请实施例提供一种启动界面卡顿的处理方法及装置、设备、存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种启动界面卡顿的处理方法,所述方法包括:
当接收到用于启动APP的第一请求时,创建卡顿处理进程;
当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;
确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;
当所述第一时间段大于预设时间段时,结束所述卡顿处理进程。
本申请实施例中,所述方法还包括:
当所述进程结束后,重新创建所述卡顿处理进程;
当接收到重新创建的进程发送的第二请求时,重新确定所述第一时间段;
当重新确定的第一时间段大于所述预设时间段时,结束重新创建的进程;
在所述预设时间段内,当接收到重新创建的进程发送的用于显示所述APP的主界面的第三请求时,停止确定所述第一时间段,并显示所述主界面。
本申请实施例中,所述确定第一时间段,包括:
获取预设名单列表和所述APP的标识;
如果所述APP的标识在所述预设名单列表内,确定第一时间段。
本申请实施例中,所述第一时间段为所述启动界面以第一状态显示的时间段,包括:
所述第一时间段为所述启动界面在前台显示的时间段。
本申请实施例中,所述确定第一时间段,包括:
当所述启动界面开始启动时,确定所述第一时间段;或,
当所述启动界面在终端显示时,确定所述第一时间段。
本申请实施例中,所述方法还包括:
在所述预设时间段内,当所述APP请求移除所述启动界面并显示所述APP的主界面时,停止确定所述第一时间段。
本申请实施例中,所述当所述第一时间段大于预设时间段时,结束所述卡顿处理进程,包括:
当所述第一时间段大于预设时间段时,显示提示窗口,所述提示窗口用于提示用户所述APP启动超时;
当接收到关闭所述APP的指令时,结束所述卡顿处理进程。
第二方面,本申请实施例提供一种启动界面卡顿的处理装置,所述装置包括:
创建单元,用于当接收到用于启动APP的第一请求时,创建卡顿处理进程;
接收单元,用于当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;
确定单元,用于确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;
结束单元,用于当所述第一时间段大于预设时间段时,结束所述卡顿处理进程。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述启动界面卡顿的处理方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述启动界面卡顿的处理方法中的步骤。
本申请实施例提供一种启动界面卡顿的处理方法及装置、设备、存储介质,通过当接收到用于启动APP的第一请求时,创建卡顿处理进程;当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;当所述第一时间段大于预设时间段时,结束所述卡顿处理进程,如此,能够提高电子设备的可使用性,在提升用户体验的同时减少问题投诉,从而降低厂商的人力维护成本。
附图说明
图1A为相关技术中应用启动的实现流程示意图;
图1B为相关技术中应用启动失败的流程示意图;
图2A为本申请实施例的应用场景示意图;
图2B为本申请实施例启动界面卡顿的处理方法的实现流程示意图一;
图2C为本申请实施例启动界面卡顿的处理方法的实现流程示意图二;
图3A为本申请实施例启动界面卡顿的处理方法的实现流程示意图三;
图3B为本申请实施例启动界面卡顿的处理方法的交互流程示意图;
图3C为本申请实施例启动界面卡顿的处理方法的实现流程示意图四;
图4为本申请实施例启动界面卡顿的处理装置的组成结构示意图;
图5为本申请实施例电子设备的一种硬件实体示意图。
具体实施方式
目前安卓***对应用的内部界面跳转并无主动干预,属于应答式处理,即仅当应用有发起跳转请求时才做跳转处理,且对所有应用界面均一视同仁,对应用启动界面无特殊处理。图1A为相关技术中应用启动的实现流程示意图,如图1A所示,APP处于第一状态时,请求显示启动界面,***收到APP发送的显示启动界面请求后,进行启动界面显示。当APP由第一状态切换为第二状态时,请求显示主界面,***收到APP发送的显示主界面请求后,进行界面跳转,由启动界面跳转至主界面。也就是说,对于“是否需要从启动界面跳转至主界面”和“何时跳转”这两个问题,均由App自身来决定,***并不进行干预。因此,当App进程内部逻辑出现异常,不主动请求跳转时,则***也无能为力,只能听之任之,造成一种界面卡死的用户体验。图1B为相关技术中应用启动失败的流程示意图,如图1B所示,APP处于第一状态时,请求显示启动界面,***收到APP发送的显示启动界面请求后,进行启动界面显示。但是,当APP由第一状态切换第二状态失败时,***无法收到任何请求,将一直保持启动界面的显示,无法从启动界面跳转至主界面,从而给用户造成APP卡顿的现象。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
(1)进程:正在运行的程序的实例,一个程序的运行逻辑均在进程中执行。
(2)AMS:Activity Manager Service的简称,安卓***的核心服务,用于管理***中所有的活动,其中Activity为APP的一个页面,可以认为一个APP是由多个Activity组成。
(3)启动界面:一个特殊的页面,主要用来向用户展示广告页面,以及掩饰App主界面加载过程。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例仅用于说明本申请,不用于限制本申请的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本申请实施例提供一种检测APP卡死在启动界面的方法,以及一种修复APP回到正常逻辑的方法。也就是说,本申请实施例中提供的方案能够检测安卓***上APP启动时概率性卡在启动界面的问题,并进行程序性自我修复。实施例中提供的方案应用对象为具有启动界面的一类APP,如微信等。图2A为本申请实施例的应用场景示意图,如图2A所示,图片21为电子设备的菜单页,在电子设备的菜单页上,存在很多APP,例如微信APP等。以微信为例,当用户点击所述微信APP时,***就会收到开启微信的请求,开始开启微信,将微信的启动界面(即图片22所示)显示给用户。但是,当微信自身存在问题时,会导致***无法收到显示微信主界面的请求,这样,电子设备会一直显示微信的启动界面而无法显示微信的主界面(即图片23所示)。
根据本申请实施例提供的方案,当出现上述异常场景时,程序能够自发驱动修复所述图片22至图片23的跳转障碍,不会对用户操作方式带来任何改变,属于程序内在的自我修复方法。下面对本申请实施例提供的启动界面卡顿的处理方法进行详细的说明。
本申请实施例提供一种启动界面卡顿的处理方法,该方法应用于电子设备,该方法所实现的功能可以通过服务器中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该服务器至少包括处理器和存储介质。图2B为本申请实施例启动界面卡顿的处理方法的实现流程示意图一,如图2B所示,所述方法包括:
步骤S201、当接收到用于启动APP的第一请求时,创建卡顿处理进程;
本申请实施例中,所述APP可以为电子设备上已安装的任意一个软件应用。举例来说,当用户需要使用某个APP时,通常情况下会直接点击这个APP,当用户点击完这个APP时,所述APP就会发送启动APP的请求给电子设备的处理***,当电子设备的处理***收到所述用于启动APP的请求时,就会创建一个卡顿处理进程。当然,本申请实施例并不限于用户点击APP发送启动APP的请求,其他可以使电子设备的处理***收到用于启动APP的请求的操作也在本申请的保护范围内。
步骤S202、当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;
这里,当所述APP开始启动时,电子设备的处理***接收所述卡顿处理进程发送的用于显示所述APP的启动界面的请求,并进行处理,将所述APP的启动界面进行显示。
步骤S203、确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;
这里,当APP的启动界面开始启动时,或者,当APP的启动界面在电子设备上开始显示(即用户可以在电子设备上看见所述启动界面)时,开始进行计时,记录所述启动界面以第一状态显示的时长。举例来说,当用户点击菜单页的微信APP图标时,处理***会创建一个进程,用于发送显示微信的启动界面的请求。所述处理***接收到所述请求后,进行微信的启动界面的显示,此时,开始记录所述微信的启动界面以前台状态显示的时长。也就是说,当所述微信的启动界面在前台显示时(即用户能够看到所述启动界面时),则进行时长记录,当所述微信的启动界面在后台显示时(即用户没有关注微信是否在启动时),则不进行时长记录。
在一些实施例中,所述第一时间段为所述启动界面以第一状态显示的时间段,包括:所述第一时间段为所述启动界面在前台显示的时间段。
在一些实施例中,所述确定第一时间段,包括:当所述启动界面开始启动时,确定所述第一时间段。或者,当所述启动界面在终端显示时,确定所述第一时间段。也就是说,可以将所述第一时间段的计时起点,设置为所述启动界面开始启动的时间,也可以将所述第一时间段的计时起点,设置为诶所述启动界面在终端显示的时间(包括用户可以看见所述启动界面的时间)。
步骤S204、当所述第一时间段大于预设时间段时,结束所述卡顿处理进程。
本申请实施例中,可以为每个APP设置不同的启动界面最大显示时长,也可以为所有APP设置一个统一的启动界面最大显示时长,并将所述最大显示时长作为预设时间段。举例来说,当步骤S203中记录的微信的启动界面在前台显示的时长大于预先设置的最大显示时长时,则认为所述APP在启动的过程中卡顿在了显示界面,进而结束所述卡顿处理进程以结束所述APP的启动。
本申请实施例中,通过当接收到用于启动APP的第一请求时,创建卡顿处理进程;当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;当所述第一时间段大于预设时间段时,结束所述卡顿处理进程,如此,能够提高电子设备的可使用性,在提升用户体验的同时减少问题投诉,从而降低厂商的人力维护成本。
基于前述的实施例,本申请实施例再提供一种启动界面卡顿的处理方法,图2C为本申请实施例启动界面卡顿的处理方法的实现流程示意图二,如图2C所示,所述方法包括:
步骤S211、当接收到用于启动APP的第一请求时,创建卡顿处理进程;
步骤S212、当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;
步骤S213、确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;
这里,当APP的启动界面开始启动时,或者,当APP的启动界面在电子设备上开始显示(即用户可以在电子设备上看见所述启动界面)时,开始进行计时,记录所述启动界面以第一状态显示的时长。举例来说,当用户点击菜单页的微信APP图标时,处理***会创建一个进程,用于发送显示微信的启动界面的请求。所述处理***接收到所述请求后,进行微信的启动界面的显示,此时,开始记录所述微信的启动界面以前台状态显示的时长。也就是说,当所述微信的启动界面在前台显示时(即用户能够看到所述启动界面时),则进行时长记录,当所述微信的启动界面在后台显示时(即用户没有关注微信是否在启动时),则不进行时长记录。
在一些实施例中,所述第一时间段为所述启动界面以第一状态显示的时间段,包括:所述第一时间段为所述启动界面在前台显示的时间段。
在一些实施例中,所述确定第一时间段,包括:当所述启动界面开始启动时,确定所述第一时间段。或者,当所述启动界面在终端显示时,确定所述第一时间段。也就是说,可以将所述第一时间段的计时起点,设置为所述启动界面开始启动的时间,也可以将所述第一时间段的计时起点,设置为诶所述启动界面在终端显示的时间(包括用户可以看见所述启动界面的时间)。
步骤S214、当所述第一时间段大于预设时间段时,结束所述卡顿处理进程;
本申请实施例中,可以为每个APP设置不同的启动界面最大显示时长,也可以为所有APP设置一个统一的启动界面最大显示时长,并将所述最大显示时长作为预设时间段。举例来说,当步骤S203中记录的微信的启动界面在前台显示的时长大于预先设置的最大显示时长时,则认为所述APP在启动的过程中卡顿在了显示界面,进而结束所述卡顿处理进程以结束所述APP的启动。
步骤S215、当所述进程结束后,重新创建所述卡顿处理进程;
本申请实施例中,当在第一请求时创建的卡顿处理进程结束后,重新创建所述进程,并再次执行所述步骤S213至步骤S214中的处理过程。
步骤S216、当接收到重新创建的进程发送的第二请求时,重新确定所述第一时间段;
本申请实施例中,当接收到重新创建的进程发送的第二请求时,重新确定所述第一时间段。也就是说,当第一次创建的卡顿处理进程结束后,所述APP的启动界面显示也结束了。进而重新创建所述卡顿处理进程,再次显示所述启动界面,并且确定所述第一时间段,所述第一时间段为再次显示的所述启动界面开始启动时,或者,为再次显示的所述启动界面在电子设备上开始显示时,以第一状态显示的时间段。
步骤S217、当重新确定的第一时间段大于所述预设时间段时,结束重新创建的进程;
这里,当重新确定的第一时间段大于所述预设时间段时,结束重新创建的进程,其中,所述预设时间段为步骤S214中的预设时间段,即为APP的启动界面的最大显示时长。
步骤S218、在所述预设时间段内,当接收到重新创建的进程发送的用于显示所述APP的主界面的第三请求时,停止确定所述第一时间段,并显示所述主界面。
这里,在所述预设时间段内,当接收到重新创建的进程发送的用于显示所述APP的主界面的第三请求时,停止确定所述第一时间段,并显示所述主界面,可以是,在所述APP的启动界面的最大显示时长内,如果所述重新创建的进程(所述重新创建的进程为所述APP启动程序的实例)发送了用于显示所述APP的主界面的第三请求,即***接收到了APP发送的用于启动主界面的请求,则停止计时,并显示所述APP的主界面。
本申请实施例中,通过当接收到用于启动APP的第一请求时,创建卡顿处理进程;当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;当所述第一时间段大于预设时间段时,结束所述卡顿处理进程;当所述进程结束后,重新创建所述卡顿处理进程;当接收到重新创建的进程发送的第二请求时,重新确定所述第一时间段;当重新确定的第一时间段大于所述预设时间段时,结束重新创建的进程;在所述预设时间段内,当接收到重新创建的进程发送的用于显示所述APP的主界面的第三请求时,停止确定所述第一时间段,并显示所述主界面,如此,能够提高电子设备的可使用性,在提升用户体验的同时减少问题投诉,从而降低厂商的人力维护成本。
基于前述的实施例,本申请实施例再提供一种启动界面卡顿的处理方法,所述方法包括:
步骤S221、当接收到用于启动APP的第一请求时,创建卡顿处理进程;
步骤S222、当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;
步骤S223、获取预设名单列表和所述APP的标识;
这里,所述预设名单列表,可以是用户预先保存在所述电子设备中的名单列表,也可以是电子设备根据不同APP的使用频率等创建的预设名单列表。所述预设名单列表,记录了用户常用的所有APP的标识信息,当第一请求对应的APP的标识在所述预设名单列表内时,对所述APP进行启动界面的卡顿处理。当然,所述预设名单列表,也可以记录的是APP的启动界面的标识信息,进而通过判断启动界面的标识信息是否属于预设名单列表内的标识信息,来确定是否执行所述启动界面的卡顿处理。
步骤S224、如果所述APP的标识在所述预设名单列表内,确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;
步骤S225、当所述第一时间段大于预设时间段时,结束所述卡顿处理进程。
本申请实施例中,通过当接收到用于启动APP的第一请求时,创建卡顿处理进程;当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;获取预设名单列表和所述APP的标识;如果所述APP的标识在所述预设名单列表内,确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;当所述第一时间段大于预设时间段时,结束所述卡顿处理进程,如此,能够提高电子设备的可使用性,在提升用户体验的同时减少问题投诉,从而降低厂商的人力维护成本。
基于前述的实施例,本申请实施例再提供一种启动界面卡顿的处理方法,所述方法包括:
步骤S231、当接收到用于启动APP的第一请求时,创建卡顿处理进程;
步骤S232、当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;
步骤S233、确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;
步骤S234、当所述第一时间段大于预设时间段时,结束所述卡顿处理进程;
步骤S235、在所述预设时间段内,当所述APP请求移除所述启动界面并显示所述APP的主界面时,停止确定所述第一时间段。
这里,所述APP请求移除所述启动界面并显示所述APP的主界面,指的是所述APP发送了用于启动主界面的请求给电子设备的***,进而***执行接收到的所述启动主界面的请求,将由启动界面跳转到主界面。此时,可以表明在预设时间段内,即APP启动界面最大显示时长内,所述APP的启动界面并没有卡顿,无需再进行启动界面的卡顿处理。
本申请实施例中,通过当接收到用于启动APP的第一请求时,创建卡顿处理进程;当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;当所述第一时间段大于预设时间段时,结束所述卡顿处理进程;在所述预设时间段内,当所述APP请求移除所述启动界面并显示所述APP的主界面时,停止确定所述第一时间段,如此,能够提高电子设备的可使用性,在提升用户体验的同时减少问题投诉,从而降低厂商的人力维护成本。
基于前述的实施例,本申请实施例再提供一种启动界面卡顿的处理方法,所述方法包括:
步骤S241、当接收到用于启动APP的第一请求时,创建卡顿处理进程;
步骤S242、当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;
步骤S243、确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;
步骤S244、当所述第一时间段大于预设时间段时,显示提示窗口,所述提示窗口用于提示用户所述APP启动超时;
这里,当所述第一时间段大于预设时间段时,即启动界面的显示时长超过了预设的最大显示时长时,并不直接结束所述卡顿处理流程,而是弹出显示提示窗口,提示用户所述APP启动超时,是否关闭此次启动任务,当用户选择关闭时,才结束所述卡顿处理进程。这样,可以给用户带来更好的使用体验,根据用户的意愿进行启动界面的卡顿处理。
步骤S245、当接收到关闭所述APP的指令时,结束所述卡顿处理进程。
本申请实施例中,通过当接收到用于启动APP的第一请求时,创建卡顿处理进程;当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;当所述第一时间段大于预设时间段时,显示提示窗口,所述提示窗口用于提示用户所述APP启动超时;当接收到关闭所述APP的指令时,结束所述卡顿处理进程,如此,能够提高电子设备的可使用性,在提升用户体验的同时减少问题投诉,从而降低厂商的人力维护成本。
基于前述的实施例,本申请实施例再提供一种启动界面的卡顿处理方法,所述方法对于APP卡顿在启动界面这种异常场景,从***层面做出了改进和规避。图3A为本申请实施例启动界面卡顿的处理方法的实现流程示意图三,如图3A所示,所述方法包括:
步骤S301、创建一个静态名单文件;
这里,所述静态名单文件用于记录各常用APP的启动界面的名字。
步骤S302、通过***软件更新的方式将所述静态名单文件存入电子设备的磁盘空间;
步骤S303、在AMS中定义一个启动界面最长可显示时间;
这里,所述启动界面最长可显示时间的取值可以为用户自行设置,也可以为电子设备根据用户对所述APP的使用频率等信息来设备,本申请实施例对此并不做限制。举例来说,可以将启动界面最长可显示时间设置为12s(秒)。
步骤S304、AMS收到显示第一启动界面的请求时,从磁盘空间中读取所述静态名单文件;
步骤S305、判读所述第一启动界面是否属于所述静态名单文件;
这里,当所述第一启动界面的名字不属于所述静态名单文件记录的常用APP的启动界面的名字时,则步骤结束。如果属于,则执行步骤S306。
步骤S306、AMS新建第一进程,AMS开启一个计时器记录所述第一启动界面已显示过的时间;
步骤S307、判断在最长可显示时间内AMS是否收到隐藏第一启动界面的请求;
这里,如果收到了隐藏第一启动界面的请求,代表所述APP的启动界面并无卡顿,程序正在正常的执行,即将执行启动主界面的人物,则步骤结束。如果没有收到隐藏第一启动界面的请求,则执行步骤S308。
步骤S308、AMS杀掉所述第一进程,创建第二进程。
步骤S309、重复步骤S304至步骤S308,直至所述第一启动界面启动成功。
本申请实施例中,所述已显示过的时间可以为所述第一启动界面完全被用户看见的时间,因此,所述第一启动界面被遮挡的时间段需要被排除在外。例如,当所述第一启动界面在后台显示时,则认为所述第一启动界面被遮挡此时需要排除掉所述第一启动界面在后台显示的时间。又如,当检测出所述第一启动界面虽然运行在前台,但是被其他界面遮挡则也需要将遮挡的时间排除在外。
图3B为本申请实施例启动界面卡顿的处理方法的交互流程示意图,如图3B所示,左边为APP启动交互流程示意图,首先请求启动APP,然后从电子设备的磁盘存储空间中读取启动界面名单,接下来判断请求启动的APP是否在所述启动界面名单内,如果不在,则继续显示启动界面。如果在,则开始启动界面计时(在计时的过程中,仍然会继续显示启动界面)。根据所述计时器记录的时间判断是否超时,如果超时,则杀掉当前进程开启新的进程。右边为计时器内部交互流程示意图,当启动界面被遮挡时,暂停计时。当启动界面未被遮挡时,恢复计时。当APP请求移除启动界面并显示主界面时,停止计时。当时间到时(即当记录的时间等于预设的启动界面最大显示时长时),也停止计时。
采用本申请实施例中的方案后,当遇到启动界面卡顿的场景后,出现异常的APP进程会被AMS杀死,新的APP进程会被创建,APP继续在新进程中运行,卡住的问题得到修复。
图3C为本申请实施例启动界面卡顿的处理方法的实现流程示意图四,如图3C所示,假设仅首次启动时遇到了启动界面卡顿的场景,二次启动顺利完成,未遇到启动界面卡顿的场景,则所述方法包括:
步骤S311、桌面向AMS发送启动APP的请求;
步骤S312、所述AMS创建APP进程,且将所述进程记为第一进程;
步骤S313、所述第一进程向所述AMS请求显示启动界面;
步骤S314、所述AMS将显示启动界面的任务发送给显示***;
步骤S315、所述AMS利用计时模块开始启动界面计时;
步骤S316、启动界面显示超时,则所述AMS利用超时处理模块结束所述第一进程,并销毁当前界面,创建新的APP进程,且将所述新的APP进程记为第二进程;
步骤S317、所述第二进程继续向所述AMS请求显示启动界面;
步骤S318、所述AMS将显示启动界面的任务发送给显示***;
步骤S319、所述AMS利用计时模块开始启动界面计时;
步骤S320、所述第二进程向所述AMS请求显示主界面;
步骤S321、所述AMS移除计时;
步骤S322、所述AMS将显示主界面的任务发送给显示***。
这里,所述计时起点可以是启动界面启动的时间点,也可以启动界面真正显示给用户的时间点。当第一进程中启动界面超时,可以杀掉当前进程,启动新进程,当然,实际上可以根据场景弹出对话框通知用户,让用户选择操作。
本申请实施例中,通过提供的启动界面卡顿的处理方法,可以提高电子设备的可使用性,提升用户体验减少问题投诉,对电子设备厂商减少人力维护成本。
基于前述的实施例,本申请实施例提供一种启动界面卡顿的处理装置,该装置包括所包括的各单元、以及各单元所包括的各模块、以及各模块所包括的各部件,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(Central Processing Unit,CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(Digital Signal Processing,DSP)或现场可编程门阵列(FieldProgrammable Gate Array,FPGA)等。
图4为本申请实施例启动界面卡顿的处理装置的组成结构示意图,如图4所示,所述装置400包括:
创建单元401,用于当接收到用于启动APP的第一请求时,创建卡顿处理进程;
接收单元402,用于当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;
确定单元403,用于确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;
结束单元404,用于当所述第一时间段大于预设时间段时,结束所述卡顿处理进程。
在一些实施例中,所述装置还包括:
重新创建单元,用于当所述进程结束后,重新创建所述卡顿处理进程;
重新确定单元,用于当接收到重新创建的进程发送的第二请求时,重新确定所述第一时间段;
重新结束单元,用于当重新确定的第一时间段大于所述预设时间段时,结束重新创建的进程;
显示单元,用于在所述预设时间段内,当接收到重新创建的进程发送的用于显示所述APP的主界面的第三请求时,停止确定所述第一时间段,并显示所述主界面。
在一些实施例中,所述确定单元403,包括:
获取模块,用于获取预设名单列表和所述APP的标识;
确定模块,用于如果所述APP的标识在所述预设名单列表内,确定第一时间段。
在一些实施例中,所述第一时间段为所述启动界面以第一状态显示的时间段,包括:所述第一时间段为所述启动界面在前台显示的时间段。
在一些实施例中,所述确定单元403,包括:
第一确定模块,用于当所述启动界面开始启动时,确定所述第一时间段;或,第二确定模块,用于当所述启动界面在终端显示时,确定所述第一时间段。
在一些实施例中,所述装置还包括:
停止单元,用于在所述预设时间段内,当所述APP请求移除所述启动界面并显示所述APP的主界面时,停止确定所述第一时间段。
在一些实施例中,所述结束单元404,包括:
显示模块,用于当所述第一时间段大于预设时间段时,显示提示窗口,所述提示窗口用于提示用户所述APP启动超时;
结束模块,用于当接收到关闭所述APP的指令时,结束所述卡顿处理进程。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的启动界面卡顿的处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的启动界面卡顿的处理方法中的步骤。
对应地,本申请实施例提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述启动界面卡顿的处理方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图5为本申请实施例电子设备的一种硬件实体示意图,如图5所示,该电子设备500的硬件实体包括:处理器501、通信接口502和存储器503,其中:
处理器501通常控制电子设备500的总体操作。
通信接口502可以使电子设备500通过网络与其他终端或服务器通信。
存储器503配置为存储由处理器501可执行的指令和应用,还可以缓存待处理器501以及电子设备500中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种启动界面卡顿的处理方法,其特征在于,所述方法包括:
当接收到用于启动APP的第一请求时,创建卡顿处理进程;
当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;
确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;
当所述第一时间段大于预设时间段时,结束所述卡顿处理进程。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述进程结束后,重新创建所述卡顿处理进程;
当接收到重新创建的进程发送的第二请求时,重新确定所述第一时间段;
当重新确定的第一时间段大于所述预设时间段时,结束重新创建的进程;
在所述预设时间段内,当接收到重新创建的进程发送的用于显示所述APP的主界面的第三请求时,停止确定所述第一时间段,并显示所述主界面。
3.根据权利要求1所述的方法,其特征在于,所述确定第一时间段,包括:
获取预设名单列表和所述APP的标识;
如果所述APP的标识在所述预设名单列表内,确定第一时间段。
4.根据权利要求1或2所述的方法,其特征在于,所述第一时间段为所述启动界面以第一状态显示的时间段,包括:
所述第一时间段为所述启动界面在前台显示的时间段。
5.根据权利要求1或2所述的方法,其特征在于,所述确定第一时间段,包括:
当所述启动界面开始启动时,确定所述第一时间段;或,
当所述启动界面在终端显示时,确定所述第一时间段。
6.根据权利要求1或3所述的方法,其特征在于,所述方法还包括:
在所述预设时间段内,当所述APP请求移除所述启动界面并显示所述APP的主界面时,停止确定所述第一时间段。
7.根据权利要求1或2所述的方法,其特征在于,所述当所述第一时间段大于预设时间段时,结束所述卡顿处理进程,包括:
当所述第一时间段大于预设时间段时,显示提示窗口,所述提示窗口用于提示用户所述APP启动超时;
当接收到关闭所述APP的指令时,结束所述卡顿处理进程。
8.一种启动界面卡顿的处理装置,其特征在于,所述装置包括:
创建单元,用于当接收到用于启动APP的第一请求时,创建卡顿处理进程;
接收单元,用于当所述APP进行启动时,接收所述卡顿处理进程发送的用于显示所述APP的启动界面的第二请求;
确定单元,用于确定第一时间段,所述第一时间段为所述启动界面以第一状态显示的时间段;
结束单元,用于当所述第一时间段大于预设时间段时,结束所述卡顿处理进程。
9.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述启动界面卡顿的处理方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述启动界面卡顿的处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910579199.0A CN110308951B (zh) | 2019-06-28 | 2019-06-28 | 一种启动界面卡顿的处理方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910579199.0A CN110308951B (zh) | 2019-06-28 | 2019-06-28 | 一种启动界面卡顿的处理方法及装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110308951A true CN110308951A (zh) | 2019-10-08 |
CN110308951B CN110308951B (zh) | 2022-07-19 |
Family
ID=68079309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910579199.0A Active CN110308951B (zh) | 2019-06-28 | 2019-06-28 | 一种启动界面卡顿的处理方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110308951B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198725A (zh) * | 2019-12-30 | 2020-05-26 | 掌阅科技股份有限公司 | 应用启动的处理方法、计算设备及计算机存储介质 |
CN111246282A (zh) * | 2020-03-16 | 2020-06-05 | 青岛海信传媒网络技术有限公司 | 显示设备中节目信息获取方法及显示设备 |
CN112231132A (zh) * | 2020-09-30 | 2021-01-15 | 北京五八信息技术有限公司 | 应用程序卡顿的定位方法、装置、电子设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581314A (zh) * | 2013-10-29 | 2014-02-12 | 广东欧珀移动通信有限公司 | 一种在app启动页实现应用推荐的方法及*** |
CN103793244A (zh) * | 2013-12-26 | 2014-05-14 | 百度在线网络技术(北京)有限公司 | 在启动页面显示信息的方法及装置 |
US20150073892A1 (en) * | 2013-09-06 | 2015-03-12 | Tune, Inc. | Systems and methods for opening an application associated with an advertisement |
CN104991799A (zh) * | 2015-06-26 | 2015-10-21 | 深圳市金立通信设备有限公司 | 一种终端开机界面的管理方法及终端 |
CN105068844A (zh) * | 2015-08-26 | 2015-11-18 | 广东欧珀移动通信有限公司 | 一种解决Android终端不开机的方法及装置 |
CN107783795A (zh) * | 2017-07-26 | 2018-03-09 | 上海壹账通金融科技有限公司 | 应用程序启动方法、装置、计算机设备和存储介质 |
CN108363597A (zh) * | 2018-01-02 | 2018-08-03 | 武汉斗鱼网络科技有限公司 | 一种页面跳转方法及*** |
CN109739571A (zh) * | 2018-12-20 | 2019-05-10 | 努比亚技术有限公司 | 应用程序启动方法、移动终端及计算机可读存储介质 |
-
2019
- 2019-06-28 CN CN201910579199.0A patent/CN110308951B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150073892A1 (en) * | 2013-09-06 | 2015-03-12 | Tune, Inc. | Systems and methods for opening an application associated with an advertisement |
CN103581314A (zh) * | 2013-10-29 | 2014-02-12 | 广东欧珀移动通信有限公司 | 一种在app启动页实现应用推荐的方法及*** |
CN103793244A (zh) * | 2013-12-26 | 2014-05-14 | 百度在线网络技术(北京)有限公司 | 在启动页面显示信息的方法及装置 |
CN104991799A (zh) * | 2015-06-26 | 2015-10-21 | 深圳市金立通信设备有限公司 | 一种终端开机界面的管理方法及终端 |
CN105068844A (zh) * | 2015-08-26 | 2015-11-18 | 广东欧珀移动通信有限公司 | 一种解决Android终端不开机的方法及装置 |
CN107783795A (zh) * | 2017-07-26 | 2018-03-09 | 上海壹账通金融科技有限公司 | 应用程序启动方法、装置、计算机设备和存储介质 |
CN108363597A (zh) * | 2018-01-02 | 2018-08-03 | 武汉斗鱼网络科技有限公司 | 一种页面跳转方法及*** |
CN109739571A (zh) * | 2018-12-20 | 2019-05-10 | 努比亚技术有限公司 | 应用程序启动方法、移动终端及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
做自己的国王: "Open an activity after a certain amount of time?", 《HTTPS://WWW.MANONGDAO.COM/ARTICLE-691675.HTML》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198725A (zh) * | 2019-12-30 | 2020-05-26 | 掌阅科技股份有限公司 | 应用启动的处理方法、计算设备及计算机存储介质 |
CN111198725B (zh) * | 2019-12-30 | 2023-02-28 | 掌阅科技股份有限公司 | 应用启动的处理方法、计算设备及计算机存储介质 |
CN111246282A (zh) * | 2020-03-16 | 2020-06-05 | 青岛海信传媒网络技术有限公司 | 显示设备中节目信息获取方法及显示设备 |
CN111246282B (zh) * | 2020-03-16 | 2022-03-25 | 青岛海信传媒网络技术有限公司 | 显示设备中节目信息获取方法及显示设备 |
CN112231132A (zh) * | 2020-09-30 | 2021-01-15 | 北京五八信息技术有限公司 | 应用程序卡顿的定位方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110308951B (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110308951A (zh) | 一种启动界面卡顿的处理方法及装置、设备、存储介质 | |
CN108829487B (zh) | 一种弹窗的展示方法、装置、存储介质及终端 | |
CN105763602A (zh) | 一种数据请求处理的方法、服务器及*** | |
CN110971922B (zh) | 直播连麦状态监控方法、客户端、服务器、介质及*** | |
CN103248749B (zh) | 一种终端显示比例的自动控制方法、装置及终端 | |
CN103761150B (zh) | 信息处理方法、信息处理装置和电子设备 | |
CN109656885B (zh) | 存储空间监控方法及装置、电子终端、存储介质 | |
CN108334415A (zh) | 一种容错处理方法、装置、终端及存储介质 | |
CN106201811A (zh) | 应用程序的故障恢复方法和终端 | |
CN107835984B (zh) | 热减轻用户体验 | |
CN107368384A (zh) | 一种Linux服务器异常信息转储***及方法 | |
CN107908957B (zh) | 一种智能终端的安全运行管理方法及*** | |
CN107465870A (zh) | 外接摄像头的替换方法和*** | |
US20240231892A1 (en) | Method, apparatus, device and storage medium for searching and killing a front-end process | |
CN107391199A (zh) | 应用启动方法及装置、终端和计算机可读存储介质 | |
CN108762983B (zh) | 多媒体数据恢复方法及装置 | |
CN106445479B (zh) | 信息推送方法及装置 | |
CN104834553B (zh) | 一种用户终端的业务并发处理方法及用户终端 | |
CN112153215A (zh) | 通话处理方法、装置、相关设备及存储介质 | |
CN110245046B (zh) | 一种针对Android App无埋点的数据统计方法及装置 | |
CN108958980A (zh) | 防止Activity生命周期异常的方法、电子装置及计算机可读存储介质 | |
CN115952491B (zh) | hook目标函数的方法、装置、电子设备及介质 | |
CN111783081A (zh) | 一种恶意进程处理方法、终端设备及存储介质 | |
CN112395029A (zh) | 应用程序的界面显示方法、装置、电子设备和存储介质 | |
CN110177172A (zh) | 终端防沉迷方法、装置、终端及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |