CN107402781A - 开屏页面显示管理方法、终端及计算机可读存储介质 - Google Patents
开屏页面显示管理方法、终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107402781A CN107402781A CN201710495794.7A CN201710495794A CN107402781A CN 107402781 A CN107402781 A CN 107402781A CN 201710495794 A CN201710495794 A CN 201710495794A CN 107402781 A CN107402781 A CN 107402781A
- Authority
- CN
- China
- Prior art keywords
- page
- tail
- spread
- spreading
- display
- 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/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种开屏页面显示管理方法,当基于进程管理器的进程管理信息确定目标应用程序当前处于启动进行状态后,终端根据可以根据活动窗口管理数据,确定目标应用程序的原开屏页面具备最前显示顺序后,获取并显示替代开屏页面。本发明还公开了一种开屏页面显示管理终端及计算机可读存储介质,在上述实施方案中,由于原开屏页面通过Activity呈现,替代开屏页面是由Window Manager创建的窗口呈现的,Window Manager在原开屏页面具备最前显示顺序后创建的窗口必然会悬浮在以Activity方式呈现的原开屏页面上,所以替代开屏页面可以遮挡住原开屏页面,实现控制目标应用程序开屏显示页面的效果,避免应用程序启动时只能在SDK的控制下显示原开屏页面,造成用户体验低的问题。
Description
技术领域
本发明涉及终端技术领域,更具体地说,涉及一种开屏页面显示管理方法、终端及计算机可读存储介质。
背景技术
相对于传统功能终端,智能终端更受广大用户的欢迎,这主要的原因就是智能终端通过APP(Application,应用程序)的形式为用户提供了更多功能,而且相对于传统终端的功能只能由厂商决定的现状,智能终端在这一方面为用户提供了更多选择,用户可以根据自己的个人需求“定制”功能独特的专属终端,并且随时随地、随心所欲地对自己终端的功能进行调整、更改。为了最大程度地提升APP的商业价值,不少APP会利用启动过程的时间向用户展现商业广告等,以达到商业宣传的目的。
目前利用开屏显示页面进行广告宣传的基本都是用户安装的第三方APP,这些第三方APP通过集成第三方广告投放平台所提供的SDK(Software Development Kit,软件开发工具)来实现开屏广告的展示。每一个能够在开屏显示页面展现广告的APP都有与之对应的SDK,这些APP显示的页面也只能各自对应的集成SDK控制,导致APP开屏显示页面的显示方式单一。同时,SDK的实际表征的是广告投放平台侧的显示意愿,无法表征终端侧的显示期望。所以现在亟需提供一种新的页面显示管理方案,以解决现有技术中应用程序在启动过程中,应用程序的开屏显示页面只能由集成在该应用程序中的SDK进行控制,显示广告投放平台所指定的开屏显示页面,导致显示管理方式单一,用户体验低的问题。
发明内容
本发明要解决的技术问题在于:现有技术中应用程序在启动过程中,应用程序的开屏显示页面只能由其内部集成的SDK控制,开屏显示页面显示管理方式单一的问题,针对该技术问题,提供一种开屏页面显示管理方法、终端及计算机可读存储介质。
为解决上述技术问题,本发明提供一种开屏页面显示管理方法,所述开屏页面显示管理方法包括:
基于进程管理器的进程管理信息确定目标应用程序当前处于正在启动的启动进行状态;
根据活动窗口的管理数据确定所述目标应用程序的原开屏页面是否具备最前显示顺序,所述管理数据用于表征终端当前各待显示页面的显示顺序;
若是,则获取由窗口管理程序创建的替代开屏页面,并对所述替代开屏页面进行显示。
可选地,所述对所述替代开屏页面进行显示之后,还包括:在确定原开屏页面的显示结束之后,结束对所述替代开屏页面的显示。
可选地,所述确定原开屏页面的显示结束的步骤包括:
对所述替代开屏页面的替代显示时间进行监测;确定所述替代显示时间大于所述目标应用程序原开屏页面的预估显示时间后,结束对所述替代开屏页面的显示;
或,
根据活动窗口的管理数据确定所述目标应用程序的原开屏页面失去最前显示顺序后,结束对所述替代开屏页面的显示。
可选地,根据活动窗口的管理数据确定所述目标应用程序的原开屏页面具备最前显示顺序之后,还包括:
确定当前距所述原开屏页面具备最前显示顺序起的时间超过预设时长,且所述替代开屏页面仍未成功显示,取消对所述替代开屏页面的显示。
可选地,所述根据进程管理器的进程管理信息确定目标应用程序当前处于正在启动的启动进行状态的步骤包括:
调用进程管理器对终端中各应用程序的启动进行监测;
当进程管理器监测到当前存在正在启动的应用程序时,确定所述应用程序在预设管理名单中存在,则判定所述应用程序为目标应用程序,且所述目标应用程序当前处于正在启动的启动进行状态。
可选地,所述根据活动窗口的管理数据确定所述目标应用程序的原开屏页面是否具备最前显示顺序包括:
对活动窗口堆栈Activity Task的栈顶元素进行监测,判定所述目标应用程序的原开屏页面对应的活动窗口是否位于所述活动窗口堆栈的栈顶,若是则判定所述目标应用程序的原开屏页面具备最前显示顺序,否则判定所述目标应用程序的原开屏页面不具备最前显示顺序。
可选地,所述对活动窗口堆栈的栈顶元素进行监测的步骤包括:
按照预设频率周期性地查询所述活动窗口堆栈的栈顶元素,且相邻两次查询间的时间间隔小于所述原开屏页面从具备最前显示顺序到完全渲染显示的时长。
可选地,所述开屏页面显示管理方法还包括:
若查询次数超过预设查询次数,则停止查询并取消对所述替代开屏页面的显示。
进一步地,本发明提供了一种终端,所述终端包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的应用程序开屏页面显示管理程序,以实现以下步骤:
基于进程管理器的进程管理信息确定目标应用程序当前处于正在启动的启动进行状态;
根据活动窗口的管理数据确定所述目标应用程序的原开屏页面是否具备最前显示顺序,所述管理数据用于表征终端当前各待显示页面的显示顺序;
若是,则获取由窗口管理程序创建的替代开屏页面,并对所述替代开屏页面进行显示。
进一步地,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
基于进程管理器的进程管理信息确定目标应用程序当前处于正在启动的启动进行状态;
根据活动窗口的管理数据确定所述目标应用程序的原开屏页面是否具备最前显示顺序,所述管理数据用于表征终端当前各待显示页面的显示顺序;
若是,则获取由窗口管理程序创建的替代开屏页面,并对所述替代开屏页面进行显示。
有益效果
本发明实施例提供一种开屏页面显示管理方法、终端及计算机可读存储介质,根据开屏页面显示管理方法,当基于进程管理器的进程管理信息确定目标应用程序当前处于正在启动的启动进行状态后,终端根据可以根据活动窗口管理数据,确定目标应用程序的原开屏页面具备最前显示顺序后,获取并显示由窗口管理程序创建的替代开屏页面。当目标应用程序启动时,必定会在进程管理器中建立进程,因此根据进程管理器的管理数据,终端可以对目标应用程序的启动进行状态进行监测。目标应用程序创建进程启动时,会将原开屏页面渲染显示给用户,而从终端活动窗口的管理数据中可以了解各待显示页面的显示顺序,只有具有最前显示顺序的待显示页面才是在下一时刻会显示的页面,因此,终端可以利用活动窗口管理数据确定原开屏页面在下一刻就会显示出来时,获取并显示替代开屏页面。由于原开屏页面以Activity的方式显示,替代开屏页面由Window Manager创建的窗口呈现,Window Manager在原开屏页面具备最前显示顺序后创建的窗口必然会悬浮在该原开屏页面之上,从而让替代开屏页面遮挡住原开屏页面,使得替代开屏页面对用户而言可见,而原开屏页面不可见,实现控制目标应用程序开屏显示页面的效果,避免应用程序启动时只能在SDK的控制下显示原开屏页面,造成用户体验低的问题。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明第一实施例提供的开屏页面显示管理方法的一种流程图;
图2为本发明第一实施例示出的目标应用程序的原开屏页面示意图;
图3为本发明第一实施例示出的目标应用程序的替代开屏页面示意图;
图4为本发明第二实施例提供的开屏页面显示管理方法的一种流程图;
图5为本发明第二实施例示出的终端的一种用户交互界面示意图;
图6为本发明第三实施例提供的一种终端的硬件结构示意图;
图7为本发明第四实施例提供的一种终端的硬件结构示意图;
图8为本发明第五实施例提供的一种移动终端的硬件结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一实施例:
为了解决现有技术中现有技术中应用程序在启动过程中,应用程序的开屏显示页面只能由其内部集成的SDK控制,开屏显示页面显示管理方式单一,用户体验低的问题,本实施例提供一种开屏页面显示管理方法,请参见图1示出的开屏页面显示管理方法的流程图:
S102、基于进程管理器的进程管理信息确定目标应用程序当前处于正在启动的启动进行状态。
一个APP开始启动至启动完成之间需要一定的时间,在本实施例中,将处于这个过程的APP的状态称为启动进行状态。由于应用程序要启动时,会创建对应的进程。而进程管理器的进程列表(Process List)中有记录当前正在运行的各个进程名称,所以,当进程管理服务器监测到进程列表中新增了任何进程后,终端可以通过查询了解到该进程所对应的APP包名,从而了解到该进程是对应于哪一个APP的。所以,当目标应用程序启动并创建进程时,终端可以通过进程管理服务器的进程管理信息可以很容易地了解到该目标APP处于启动进行状态这一信息。
S104、根据活动窗口的管理数据确定目标应用程序的原开屏页面具备最前显示顺序。
终端根据进程管理其的进程管理信息确定目标APP处于启动进行状态时,表征该目标APP马上就会开始运行了,而且,如果该目标APP是一个可以在前台运行,且运行时对用户可见的APP,则终端的显示屏可能马上就会对该APP的原开屏显示页面进行显示。在现有技术中,终端显示屏所显示的APP开屏显示内容仅由该APP内集成的SDK来控制,显示管理方式单一,用户体验不佳。为了解决该问题,本实施例中将会提供另一种显示管理方式:当终端显示屏需要显示目标APP的原开屏页面时,终端控制显示替代开屏页面,从而遮挡原开屏显示页面,让用户仅可见到替代开屏页面,从用户视觉体验的角度上“替换”原开屏显示页面。
为了实现上述方案,终端需要对目标APP原开屏页面的准备显示的时间进行监测,当发现显示屏在下一时刻就要显示原开屏页面时,立即将由窗口管理程序(WindowManager)创建的替代开屏页面显示出来,从而让替代开屏页面可以浮在原开屏页面之上,遮挡原开屏页面,形成替代原开屏页面的视觉效果。为了监测了解目标APP原开屏页面的准备显示的时间,终端可以根据活动窗口Activity的管理数据进行:
由于目标APP的原开屏页面是以Activity的形式呈现的,所以,在活动窗口的管理数据中必然有针对原开屏页面对应Activity的信息,管理数据可以表征原开屏页面的显示顺序。可选地,终端对的Activity的管理是通过堆栈的形式进行的,用于管理Activity的堆栈可称为活动窗口堆栈,即Activity Task。Activity Task在和所有堆栈一样遵循“后进先出,先进后出”的原则,位于其栈顶的Activity即是当前具备最前显示顺序的Activity。当原开屏页面的Activity被压入Activity Task的栈顶后,表明终端会立即开始对原开屏页面进行绘制,渲染,此时,原开屏页面就具备了最前显示顺序。
所以,终端可以通过对Activity Task的栈顶元素进行监测,确定Activity Task的栈顶元素是否是原开屏页面对应的Activity来确定原开屏页面是否具备最前显示顺序。在本实施例的一种示例当中,终端按照预设频率周期性地查询Activity Task的栈顶元素。应当理解的是,也有可能存在这样的情况:某一个APP虽然创建了进程,正处于启动进行状态,但因为该APP并不是一个在前台运行与用户进行交互的APP,其并没有原开屏页面,所以并不会存在将该APP的Activity放入Activity Task栈顶的情况,即在这种情况下,终端可能永远都无法查询到该APP的原开屏页面具备最前显示顺序。为了避免在这种场景下终端反复浪费处理时间与资源,所以,可以通过预设查询次数对终端的查询流程进行管理:终端对Activity Task栈顶元素进行周期性查询,直至确定该栈顶元素为原开屏页面对应的Activity或查询次数达到预设查询次数为止。若查询次数达到预设次数,终端依旧没能确定原开屏页面具备最前显示顺序,则终端停止查询,并取消对替代开屏页面的显示,根据工程经验,可以将将预设次数设置为200次。
另外,如果终端对Activity Task栈顶元素的查询周期过长,则有可能会出现在前一次查询的时候,原开屏页面对应的Activity还并未被压入Activity Task,成为其栈顶元素,但是在后一次查询时,原开屏页面也渲染完成,并显示多时。若在原开屏页面显示到用户眼前之后,采利用替代开屏页面来遮挡原开屏页面,则会让用户看到页面遮挡时的跳跃,从而使得用户体验不好。所以,为了避免出现这种情况,终端查询Activity Task栈顶元素的查询周期不能太大,即相邻两次查询间的时间间隔应当尽量小。应当理解的是,查询周期小于原开屏页面从具备最前显示顺序到完全渲染显示的时长,在本实施例的一种示例当中,可以将查询周期设置成5ms。
S106、获取由窗口管理程序创建的替代开屏页面,并对替代开屏页面进行显示。
确定原开屏页面具备最前显示顺序之后,终端获取替代开屏页面并对其进行显示。在原开屏页面具备最前显示顺序之后,替代开屏页面还能显示出来,并且遮挡原开屏页面,这主要是由于替代开屏页面是由Window Manager创建,并以窗口的形式呈现的,而Window Manager所创建的窗口具备悬浮在其创建前拥有最前显示顺序的所有Activity页面之上的能力,因此,在确定原开屏页面后所创建并显示的替代开屏页面在进行显示时,会浮在原开屏页面之上。
同时,从原开屏页面对应的Activity被压入Activity Task,成为其栈顶元素,到原开屏页面完全被渲染显示出来,这中间需要一段时间,我们可以将该时长记做t1,将Window Manager所创建并显示替代开屏页面的时间记做t2。按照Activity页面的渲染显示速度和Window Manager创建并呈现窗口的速度而言,t2通常是小于t1的,所以,本实施例中的替代开屏页面还能先于原开屏页面显示出来。
应当理解的是,本实施例中Window Manager所创建的替代开屏页面应当具备遮挡原开屏页面中关键信息的能力,在图2中展现了一种原开屏页面,该原开屏页面20中,在关键信息区域21当中有图像与文字,但是在除关键信息区域21以外的非关键信息区域22中,并没有图像或文字数据,非关键信息区域22基本由白色背景组成。所以本实施例中的替代开屏页面对应于关键信息区域21的部分应当是非透明的,而且替代开屏页面中对应于关键信息区域21的非透明区域的范围应当略大于关键信息区域21的范围,以便遮挡住关键信息区域21中的图像与文字。如果非关键信息区域22的白色背景不影响用户对替代开屏页面的观看,则对于非关键信息区域22,替代开屏页面可以进行遮挡,也可以不进行遮挡。若需要进行遮挡,则替代开屏页面与原开屏页面一样,是全屏页面,且页面整体均非透明。如果不进行遮挡,则存在这样两种实现方式:
第一种,替代开屏页面并非全屏,并没有对应于非关键信息区域22的部分;第二种,替代开屏页面为全屏页面,且对应于非关键信息区域22的部分透明。
为了便于更快速、统一的创建并显示可遮挡原开屏页面的替代开屏页面,在本实施例中,Window Manager可以直接创建全屏且整体非透明替代开屏页面,在图3中所示出的替代开屏页面就可以遮挡图2中原开屏页面的替代开屏页面。
本实施例提供的开屏页面显示管理方法,通过对目标APP的启动进行状态进行监测,并且在该目标APP的原开屏页面具备最前显示顺序时,采用由Window Manager创建的替代开屏页面遮挡原开屏页面,从而在用户视觉上形成替代开屏页面“替代”原开屏页面显示的效果,相对于现有技术中只能根据目标APP中集成SDK的控制来显示开屏页面的方案而言,本实施例提供了一种全新的开屏页面显示管理方案,能够避免应用程序单一地根据SDK的控制进行开屏显示所造成的用户体验低的问题,提升了用户体验。
第二实施例:
本实施例将结合具体示例对开屏页面显示管理方法进行更加详细的阐述,请参见图4所示出的一种开屏页面显示管理方法的流程图:
S402、终端通过进程管理器监测到当前有新的进程正在创建。
当应用程序启动,即应用程序处于启动进行状态时,必定会在进程管理器中建立进程,所以,终端可以通过进程管理器对新进程的创建进行监测。
S404、终端通过进程管理器确定创建该进程的APP。
当终端通过进程管理器的进程列表了解到当前由新的进程正在创建时,终端可以通过该进程查询到创建该进程的APP安装包名称,从而确定创建进程的APP是哪一个。
S406、终端根据预设管理名单判断当前处于启动进行状态的APP是否为目标APP。
在本实施例中,终端可以选择性地对各APP的开屏显示进行管理,其可以选择对部分APP进行管理,对于另一些APP的开屏显示,则可以继续由SDK控制完成。所以,在本实施例中,终端可以预先获取到预设管理名单,并根据预设管理名单来确定当前处于启动进行状态的APP是否为需要进行管理的目标APP。应当理解的,预设管理名单可以由服务器设置,然后通知给终端,也可以由终端的用户自定义设置。对于在预设管理名单中存在的APP,可以视作目标APP对其开屏显示进行管理,执行S408。否则,则不对其进行开屏页面的显示管理,结束流程。例如,在预设名单中,可以预先将那些仅仅会在后台运行,并不会展示在用户眼前的APP筛除。毫无疑义的是,预设管理名单中存储的也可以是不需要进行开屏管理的APP名单,对于这种情况,若某个处于启动进行状态的APP的名称在该预设管理名单中存在,则不进行开屏管理,对于在预设管理名单中不存在的APP,则判定其为目标APP,对其进行开屏管理。
S408、终端判断本地是否存储有该目标APP对应的页面数据。
当判断某个当前正处于启动进行状态的APP是目标APP之后,终端需要查询当前是否在本地存储了用于Window Manager为该目标APP创建替代开屏页面的页面数据。页面数据可以由用户预先设置,也可以由终端从服务器除获取。对于用户自己设置目的APP对应页面数据的方案,终端可以根据用户指定的图片,存储该图片的图像数据作为页面数据。不过,由于用户设置的页面数据通常比较简单,根据这种页面数据所创建出的替代开屏页面可能仅能遮挡原开屏页面,但并不能实现与用户的交互,即根据用户设置的页面数据所创建出的替代开屏页面可能仅能够显示在用户面前,但不存在用户可操作图标控件等。
在本实施例的另外一种示例当中,由服务器向终端提供页面数据,且页面数据可以定时或不定时的进行更新,当服务器发布新的页面数据后,终端在条件合适的时候完成对页面数据的下载,这里所说的条件合适包括终端处于WiFi网络下,这样能够减少终端获取页面数据给用户带来的经济负担。服务器提供的页面数据可能不仅能够遮挡目标APP的原开屏页面,而且,在页面之上还可以设置供用户触控以实现某些功能的图标控件。
若终端确定本地存储有对应的页面数据,则可以继续进行S410,若不存在,则终端需要先获取页面数据。但是终端获取页面数据的时间可能会比较长,因此,在该目标APP的本次启动过程中,终端可以先放弃对其的开屏显示管理。
S410、终端判断目标APP的原开屏页面是否具备最前显示顺序。
确定本地存储有用于创建替代开屏页面的页面数据后,终端按照预设查询周期对Activity Task的栈顶元素进行查询,判断栈顶元素是否为目标APP原开屏页面对应的Activity,若是,则执行S412,否则,继续查询,直至确定该栈顶元素为原开屏页面对应的Activity,或查询次数达到预设查询次数为止。可以理解的是,如果终端设置了预设查询次数,则在每一次查询栈顶元素之前,可以先判断当前的查询次数是否达到预设次数,若没达到,则继续查询,若达到了则结束流程。
S412、终端调用窗口管理程序创建显示替代开屏页面。
确定原开屏页面具备最前显示顺序之后,终端调用Window Manager根据对应的页面数据创建出替代开屏页面,并对该替代开屏页面进行显示。不同目标APP可以由不同的替代开屏页面,所以,终端可以将各目标APP的名称与其替代开屏页面之页面数据进行关联保存。当需要对某一个APP的开屏页面进行显示管理时,终端可以获取与该目标APP对应的页面数据,并让Window Manager创建该目标APP的专属替代开屏页面。在本实施例中,WindowManager创建的替代开屏页面以全屏非透明悬浮窗的形式遮挡在原开屏页面上进行显示。
如果Window Manager创建的替代开屏页面不能快速的展现给用户,则会给用户造成目标APP启动迟缓、卡顿的视觉误导,从而降低用户体验。为了避免这种问题的出现,在本实施例的而一种示例当中,当确定原开屏页面具备最前显示顺序的同时,终端会进行计时,当计时时长超过预设时长,且替代开屏页面仍未成功显示时,终端会取消对替代开屏页面的显示,让该目标APP直接根据其内部SDK的控制展示原开屏页面。
S414、终端判断原开屏页面的显示是否已结束。
应当理解的是,替代开屏页面“替代”原开屏页面呈现在用户眼前时,原开屏页面也以正在以一种用户不可见的方式进行“显示”。一旦替代开屏页面的遮挡作用消失,例如替代开屏页面的显示结束,则原开屏页面可能会再次呈现在用户眼前,这将使得用户感知到遮挡背后的原开屏页面,导致终端前后显示内容不匹配、不和谐,用户体验低的问题。由于Window Manager所创建的替代开屏页面的渲染速度快于原开屏页面的渲染速度,所以替代开屏页面能够先于原开屏页面呈现出来,使得原开屏页面开始显示时,不会被用户感知到。但是,如果替代开屏页面的显示先于原开屏页面的显示结束,则同样会导致用户看到原开屏页面。因此,在本实施例中,终端只有在确定原开屏页面的显示结束之后,才会结束对替代开屏页面的显示。
具体的,在本实施例的一种示例当中,终端会对替代开屏页面的显示时间进行监测:当替代开屏页面开始显示时,终端计时以对替代开屏页面的替代显示时间进行监测,若经计时替代显示时间已经超过原开屏页面的预估显示时间,则认为原开屏页面的显示已经结束了,当前可以结束对替代开屏页面的显示。这里所述的“预估显示时间”可以是根据经验值确定的,例如,通常APP的原开屏页面显示时间为3s,则可以将预估显示时间设置为大于3s的5s。另外预估显示时间也可以是对目标APP原开屏页面的显示时间进行准确计时测量得到的。
在本实施例的另外一种示例当中,终端可以不用对替代显示时间进行监测,而是根据活动窗口的管理数据来确定原开屏页面是否失去最前显示顺序,若是,则可以认定原开屏页面显示结束,可以结束对替代开屏页面的显示,否则,需要继续对替代开屏页面进行显示,同时继续判断原开屏页面是否失去最前显示顺序。例如,终端每隔一段时间对Activity Task的栈顶元素进行一次查询,判断该栈顶元素是否是原开屏页面对应的Activity。若是,则说明原开屏页面目前仍然拥有最前显示顺序,若不是,则原开屏页面失去了最前显示顺序,可结束显示替代显示页面。
S416、终端停止对替代开屏页面的显示。
确定原开屏页面显示结束后,终端可以在合适的时候结束对替代开屏页面的显示。如果Window Manager创建替代开屏页面的页面数据来自服务器,而则终端可以向服务器返回替代开屏页面的显示结果,在显示结果中可以包含有该替代显示页面显示成功与否的信息,还可以包括用户针对该替代显示页面的输入。例如,用户对替代开屏页面中所展示的图像或文字信息有兴趣,对该替代开屏页面进行过点击,如图5所示。若用户针对替代开屏显示界面进行过输入,则终端可以将表征用户有兴趣的用户输入信息也反馈也服务器,由服务器根据该用户输入信息进行后续处理,例如服务器根据用户的输入向其推送替代开屏页面中所展示的图像或文字的详细简介,或者根据用户的选择为其推送类似与替代开屏页面中所展示的图像或文字的信息。
S418、对本地存储的各页面数据进行更新。
在本实施例中,当每一次替代开屏显示页面显示结束之后,终端还会对本地存储的页面数据进行更新,以便获取到最新的页面数据,在该目标APP的后续启动过程中,为用户提供更好的视觉体验。
本实施例提供的开屏页面显示管理方法,不仅通过Window Manager创建的替代开屏页面在原开屏页面显示之前就显示,遮挡原开屏页面,而且还会对原开屏页面显示结束的时刻进行关注,且仅在确定原开屏页面显示结束之后,才会结束对替代开屏页面的显示,避免出现终端前后显示内容不匹配、不和谐的情况,提升用户体验。
进一步地,终端还可以根据预设管理名单来确定是否需要对某一个APP进行开屏显示管理,让终端对应用程序开屏显示管理具有选择性。特别是由用户设置预设管理名单的方案当中,能够让应用程序的开屏显示更加符合用户预期,满足用户个性化需求。
第三实施例:
本实施例提供一种终端,请参见图6,该终端6包括处理器61、存储器62及通信总线63。通信总线63用于实现处理器61和存储器62之间的连接通信。存储器62可以存储有一个或多个计算机程序,本实施例中的存储器62存储有开屏页面管理程序,该程序可供处理器61读取、编译并执行,从而实现第一实施例或第二实施例中的开屏页面管理方法。下面结合具体示例对该终端6进行介绍:
终端6可以以各种形式来实施。例如,本实施例中描述的终端6可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端。
本实施例的终端6上可以包括一个或多个自带的APP,还可以包括一个或多个由用户安装的第三方APP。为了对这些APP的开屏显示页面进行管理。终端6的处理器61需要先对目标APP的启动进行状态进行监测。
一个APP开始启动至启动完成之间需要一定的时间,在本实施例中,将处于这个过程的APP的状态称为启动进行状态。由于应用程序要启动时,会创建对应的进程。而进程管理器的进程列表中有记录当前正在运行的各个进程名称,所以,当进程管理服务器监测到进程列表中新增了任何进程后,处理器61可以通过查询了解到该进程所对应的APP包名,从而了解到该进程是对应于哪一个APP的。所以,当目标应用程序启动并创建进程时,处理器61可以通过进程管理服务器的进程管理信息可以很容易地了解到该目标APP处于启动进行状态这一信息。
处理器61根据进程管理其的进程管理信息确定目标APP处于启动进行状态时,表征该目标APP马上就会开始运行了,而且,如果该目标APP是一个可以在前台运行,且运行时对用户可见的APP,则终端6的显示屏可能马上就会对该APP的原开屏显示页面进行显示。在现有技术中,终端6的显示屏所显示的APP开屏显示内容仅由该APP内集成的SDK来控制,显示管理方式单一,用户体验不佳。但在本实施例中将会提供另一种显示管理方式:当确定显示屏需要显示目标APP的原开屏页面时,处理器61控制显示替代开屏页面,从而遮挡原开屏显示页面,让用户仅可见到替代开屏页面,从用户视觉体验的角度上“替换”原开屏显示页面。
为了实现上述方案,处理器61需要对目标APP原开屏页面的准备显示的时间进行监测,当发现显示屏在下一时刻就要显示原开屏页面时,立即将由窗口管理程序创建的替代开屏页面显示出来,从而让替代开屏页面可以浮在原开屏页面之上,遮挡原开屏页面,形成替代原开屏页面的视觉效果。为了监测了解目标APP原开屏页面的准备显示的时间,处理器61可以根据活动窗口Activity的管理数据进行:
由于目标APP的原开屏页面是以Activity的形式呈现的,所以,在活动窗口的管理数据中必然有针对原开屏页面对应Activity的信息,管理数据可以表征原开屏页面的显示顺序。具体的,终端6对的Activity的管理是通过堆栈的形式进行的,用于管理Activity的堆栈可称为活动窗口堆栈,即Activity Task。Activity Task在和所有堆栈一样遵循“后进先出,先进后出”的原则,位于其栈顶的Activity即是当前具备最前显示顺序的Activity。当原开屏页面的Activity被压入Activity Task的栈顶后,表明终端6会立即开始对原开屏页面进行绘制,渲染,此时,原开屏页面就具备了最前显示顺序。
所以,处理器61可以通过对Activity Task的栈顶元素进行监测,确定ActivityTask的栈顶元素是否是原开屏页面对应的Activity来确定原开屏页面是否具备最前显示顺序。在本实施例的一种示例当中,处理器61按照预设频率周期性地查询Activity Task的栈顶元素。应当理解的是,也有可能存在这样的情况:某一个APP虽然创建了进程,正处于启动进行状态,但因为该APP并不是一个在前台运行与用户进行交互的APP,其并没有原开屏页面,所以并不会存在将该APP的Activity放入Activity Task栈顶的情况,即在这种情况下,处理器61可能永远都无法查询到该APP的原开屏页面具备最前显示顺序。为了避免在这种场景下反复查询,浪费处理时间与处理资源,可以通过预设查询次数对处理器61的查询流程进行管理:处理器61对Activity Task栈顶元素进行周期性查询,直至确定该栈顶元素为原开屏页面对应的Activity或查询次数达到预设查询次数为止。若查询次数达到预设次数,依旧没能确定原开屏页面具备最前显示顺序,则处理器61停止查询,并取消对替代开屏页面的显示。
另外,如果处理器61对Activity Task栈顶元素的查询周期过长,则有可能会出现在前一次查询的时候,原开屏页面对应的Activity还并未被压入Activity Task,成为其栈顶元素,但是在后一次查询时,原开屏页面也渲染完成,并显示多时。若在原开屏页面显示到用户眼前之后,采利用替代开屏页面来遮挡原开屏页面,则会让用户看到页面遮挡时的跳跃,从而使得用户体验不好。所以,为了避免出现这种情况,处理器61查询Activity Task栈顶元素的查询周期不能太大,即相邻两次查询间的时间间隔应当尽量小,在本实施例的一种示例当中,查询周期小于原开屏页面从具备最前显示顺序到完全渲染显示的时长。
确定原开屏页面具备最前显示顺序之后处理器61获取由Window Manager创建的替代开屏页面并对其进行显示。Window Manager创建替代开屏页面时,需要根据对应的页面数据进行,在本实施例中,可以将替代开屏页面的页面数据存储在存储器62当中,当Window Manager需要时,由处理器61通过通信总线63从存储器62中读取获得。在原开屏页面具备最前显示顺序之后,替代开屏页面还能显示出来,并且遮挡原开屏页面,这主要是由于替代开屏页面是由处理器61调用Window Manager创建,并以窗口的形式呈现的,而Window Manager所创建的窗口具备悬浮在其创建前拥有最前显示顺序的所有Activity页面之上的能力,因此,在确定原开屏页面后所创建并显示的替代开屏页面在进行显示时,会浮在原开屏页面之上。
同时,从原开屏页面对应的Activity被压入Activity Task,成为其栈顶元素,到原开屏页面完全被渲染显示出来,这中间需要一段时间,我们可以将该时长记做t1,将处理器61调用Window Manager创建并显示替代开屏页面的时间记做t2。按照Activity页面的渲染显示速度和Window Manager创建并呈现窗口的速度而言,t2通常是小于t1的,所以,本实施例中的替代开屏页面还能先于原开屏页面显示出来。
应当理解的是,本实施例中Window Manager所创建的替代开屏页面应当具备遮挡原开屏页面中关键信息的能力,在图2中展现了一种原开屏页面,该原开屏页面20中,在关键信息区域21当中有图像与文字,但是在除关键信息区域21以外的非关键信息区域22中,并没有图像或文字数据,非关键信息区域22基本由白色背景组成。所以本实施例中的替代开屏页面对应于关键信息区域21的部分应当是非透明的,而且替代开屏页面中对应于关键信息区域21的非透明区域的范围应当略大于关键信息区域21的范围,以便遮挡住关键信息区域21中的图像与文字。如果非关键信息区域22的白色背景不影响用户对替代开屏页面的观看,则对于非关键信息区域22,替代开屏页面可以进行遮挡,也可以不进行遮挡。若需要进行遮挡,则替代开屏页面与原开屏页面一样,是全屏页面,且页面整体均非透明。如果不进行遮挡,则存在这样两种实现方式:第一种,替代开屏页面并非全屏,并没有对应于非关键信息区域22的部分;第二种,替代开屏页面为全屏页面,且对应于非关键信息区域22的部分透明。
为了便于更快速、统一的创建并显示可遮挡原开屏页面的替代开屏页面,在本实施例中,处理器61可以控制Window Manager直接创建全屏且整体非透明替代开屏页面,在图3中所示出的替代开屏页面就可以遮挡图2中原开屏页面的替代开屏页面。
本实施例提供的终端,通过对目标APP的启动进行状态进行监测,并且在该目标APP的原开屏页面具备最前显示顺序时,采用由Window Manager创建的替代开屏页面遮挡原开屏页面,从而在用户视觉上形成替代开屏页面“替代”原开屏页面显示的效果,相对于现有技术中只能根据目标APP中集成SDK的控制来显示开屏页面的方案而言,本实施例提供了一种全新的开屏页面显示管理方案,能够避免应用程序单一地根据SDK的控制进行开屏显示所造成的用户体验低的问题,提升了用户体验。
第四实施例:
本实施例还是对前述各实施例中的终端进行介绍,请参见图7:终端7包括通信装置71、处理器72以及存储器73、显示屏74,通信装置71、存储器73以及显示屏74均与处理器72通过通信总线(图7中未示出)连接。在存储器73中存储有开屏页面管理程序,该程序可供处理器72读取、编译并执行,从而实现第二实施例中的开屏页面管理方法。下面结合具体示例对该终端7进行介绍:
当APP启动,即应用程序处于启动进行状态时,必定会在进程管理器中建立进程,所以,处理器72可以通过进程管理器对新进程的创建进行监测。当通过进程管理器的进程列表了解到当前由新的进程正在创建时,处理器72可以通过该进程查询到创建该进程的APP安装包名称,从而确定创建进程的APP是哪一个。
在本实施例中,处理器72可以选择性地对各APP的开屏显示进行管理,其可以选择对部分APP进行管理,对于另一些APP的开屏显示,则可以继续由SDK控制完成。在本实施例中,处理器72可以预先根据用户的输入得到预设管理名单,或者通过通信装置71从服务器侧获取到预设管理名单并存储在存储器73中。当需要确定是否需要对某一个当前正处于启动进行状态的APP进行开屏显示管理时,处理器72从存储器73中读取到该预设管理名单,并根据预设管理名单来确定当前处于启动进行状态的APP是否为需要进行管理的目标APP。对于在预设管理名单中存在的APP,可以视作目标APP对其开屏显示进行管理,否则,则不对其进行开屏页面的显示管理。例如,在预设名单中,可以预先将那些仅仅会在后台运行,并不会展示在用户眼前的APP筛除。毫无疑义的是,预设管理名单中存储的也可以是不需要进行开屏管理的APP名单,对于这种情况,若某个处于启动进行状态的APP的名称在该预设管理名单中存在,则不进行开屏管理,对于在预设管理名单中不存在的APP,则判定其为目标APP,对其进行开屏管理。
当判断某个当前正处于启动进行状态的APP是目标APP之后,处理器72需要查询存储器73中当前是否存储了用于Window Manager为该目标APP创建替代开屏页面的页面数据。页面数据可以由用户预先设置,也可以由处理器72控制通信装置71从服务器除获取。对于用户自己设置目的APP对应页面数据的方案,处理器72可以对用户指定的图片的进行处理,控制存储器73存储该图片的图像数据作为页面数据。不过,由于用户设置的页面数据通常比较简单,根据这种页面数据所创建出的替代开屏页面可能仅能遮挡原开屏页面,但并不能实现与用户的交互,即根据用户设置的页面数据所创建出的替代开屏页面可能仅能够显示在用户面前,但不存在用户可操作图标控件等。
在本实施例的另外一种示例当中,由服务器向终端7提供页面数据,且页面数据可以定时或不定时的进行更新,当服务器发布新的页面数据后,终端7的通信装置71在条件合适的时候完成对页面数据的下载,这里所说的条件合适包括终端7处于WiFi网络下,这样能够减少终端7获取页面数据给用户带来的经济负担。服务器提供的页面数据可能不仅能够遮挡目标APP的原开屏页面,而且,在页面之上还可以设置供用户触控以实现某些功能的图标控件。
若处理器72确定存储器73中当前没有存储有对应的页面数据,则处理器72需要先通过用户输入单元(图7中未示出)或通信装置71获得对应的页面数据。。但是获取页面数据的时间可能会比较长,因此,在该目标APP的本次启动过程中,处理器72可以先放弃对其的开屏显示管理。
若确定本地存储有用于创建替代开屏页面的页面数据,则处理器72按照预设查询周期对Activity Task的栈顶元素进行查询,判断栈顶元素是否为目标APP原开屏页面对应的Activity,若是,则调用窗口管理程序创建显示替代开屏页面,若否,则继续查询,直至确定该栈顶元素为原开屏页面对应的Activity,或查询次数达到预设查询次数为止。可以理解的是,如果处理器72设置了预设查询次数,则在每一次查询栈顶元素之前,可以先判断当前的查询次数是否达到预设次数,若没达到,则继续查询,若已达到则结束查询。
确定原开屏页面具备最前显示顺序之后,处理器72调用Window Manager根据对应的页面数据创建出替代开屏页面,并控制显示屏74对该替代开屏页面进行显示。不同目标APP可以由不同的替代开屏页面,所以,处理器72可以控制存储器73将各目标APP的名称与其替代开屏页面之页面数据进行关联保存。当需要对某一个APP的开屏页面进行显示管理时,处理器72可以获取与该目标APP对应的页面数据,并让Window Manager创建该目标APP的专属替代开屏页面。在本实施例中,Window Manager创建的替代开屏页面以全屏非透明悬浮窗的形式遮挡在原开屏页面上进行显示。
如果Window Manager创建的替代开屏页面不能快速地通过显示屏74展现给用户,则会给用户造成目标APP启动迟缓、卡顿的视觉误导,从而降低用户体验。为了避免这种问题的出现,在本实施例的而一种示例当中,当确定原开屏页面具备最前显示顺序的同时,处理器72会进行计时,当计时时长超过预设时长,且替代开屏页面仍未成功显示时,处理器72会取消对替代开屏页面的显示,让该目标APP直接根据其内部SDK的控制展示原开屏页面。
应当理解的是,替代开屏页面“替代”原开屏页面呈现在用户眼前时,原开屏页面也以正在以一种用户不可见的方式进行“显示”。一旦替代开屏页面的遮挡作用消失,例如替代开屏页面的显示结束,则原开屏页面可能会再次呈现在用户眼前,这将使得用户感知到遮挡背后的原开屏页面,导致终端7前后显示内容不匹配、不和谐,用户体验低的问题。由于Window Manager所创建的替代开屏页面的渲染速度快于原开屏页面的渲染速度,所以替代开屏页面能够先于原开屏页面呈现出来,使得原开屏页面开始显示时,不会被用户感知到。但是,如果替代开屏页面的显示先于原开屏页面的显示结束,则同样会导致用户看到原开屏页面。因此,在本实施例中,处理器72只有在确定原开屏页面的显示结束之后,才会控制显示屏74结束对替代开屏页面的显示。
具体的,在本实施例的一种示例当中,处理器72会对替代开屏页面的显示时间进行监测:当替代开屏页面开始显示时,处理器72计时以对替代开屏页面的替代显示时间进行监测,若经计时替代显示时间已经超过原开屏页面的预估显示时间,则认为原开屏页面的显示已经结束了,当前可以结束对替代开屏页面的显示。这里所述的“预估显示时间”可以是根据经验值确定的,也可以是对目标APP原开屏页面的显示时间进行准确计时测量得到的。
在本实施例的另外一种示例当中,处理器72可以不用对替代显示时间进行监测,而是根据活动窗口的管理数据来确定原开屏页面是否失去最前显示顺序,若是,则可以认定原开屏页面显示结束,可以结束对替代开屏页面的显示,否则,需要继续对替代开屏页面进行显示,同时继续判断原开屏页面是否失去最前显示顺序。例如,处理器72每隔一段时间对Activity Task的栈顶元素进行一次查询,判断该栈顶元素是否是原开屏页面对应的Activity。若是,则说明原开屏页面目前仍然拥有最前显示顺序,若不是,则原开屏页面失去了最前显示顺序,处理器72可控制显示屏74结束显示替代显示页面。
如果Window Manager创建替代开屏页面的页面数据来自服务器,而则处理器72可控制通信装置71向服务器返回替代开屏页面的显示结果,在显示结果中可以包含有该替代显示页面显示成功与否的信息,还可以包括用户针对该替代显示页面的输入。例如,用户对替代开屏页面中所展示的图像或文字信息有兴趣,对该替代开屏页面进行过点击,如图5所示。若用户针对替代开屏显示界面进行过输入,则通信装置71可以将表征用户有兴趣的用户输入信息也反馈也服务器,由服务器根据该用户输入信息进行后续处理,例如服务器根据用户的输入向其推送替代开屏页面中所展示的图像或文字的详细简介,或者根据用户的选择为其推送类似与替代开屏页面中所展示的图像或文字的信息。
在本实施例中,当每一次替代开屏显示页面显示结束之后,处理器72还会通过通信装置71或用户输入单元对存储器73存储的页面数据进行更新,以便获取到最新的页面数据,在该目标APP的后续启动过程中,为用户提供更好的视觉体验。
本实施例提供的终端,不仅通过Window Manager创建的替代开屏页面在原开屏页面显示之前就显示,遮挡原开屏页面,而且还会对原开屏页面显示结束的时刻进行关注,且仅在确定原开屏页面显示结束之后,才会结束对替代开屏页面的显示,避免出现终端前后显示内容不匹配、不和谐的情况,提升用户体验。
进一步地,终端还可以根据预设管理名单来确定是否需要对某一个APP进行开屏显示管理,让终端对应用程序开屏显示管理具有选择性。特别是由用户设置预设管理名单的方案当中,能够让应用程序的开屏显示更加符合用户预期,满足用户个性化需求。
第五实施例:
假定前述各实施例中的终端为移动终端,下面结合图8示出的移动终端的一种硬件结构示意图对前述各实施例中的终端以及开屏页面显示管理方法进行进一步阐述:
该移动终端800可以包括:RF(Radio Frequency,射频)单元801、WiFi模块802、显示单元803、用户输入单元804、存储器805、处理器806等部件。本领域技术人员可以理解,图8中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如尽管图8未示出,移动终端800还可以包括蓝牙模块等,在此不再赘述。
射频单元801可用于收发信息或通话过程中,信号的接收和发送,具体的,将基站的下行信息接收后,给处理器806处理;另外,将上行的数据发送给基站。通常,射频单元801包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元801还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA2000(CodeDivision Multiple Access 2000,码分多址2000)、WCDMA(Wideband Code DivisionMultiple Access,宽带码分多址)、TD-SCDMA(Time Division-Synchronous CodeDivision Multiple Access,时分同步码分多址)、FDD-LTE(Frequency DivisionDuplexing-Long Term Evolution,频分双工长期演进)和TDD-LTE(Time DivisionDuplexing-Long Term Evolution,分时双工长期演进)等。
WiFi属于短距离无线传输技术,移动终端通过WiFi模块802可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块802,但是可以理解的是,其并不属于移动终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器806可以控制WiFi模块802或射频模块801与服务器进行交互,从服务器处更新页面数据、获取预设管理名单等,或者将替代开屏页面的显示状态、用户对替代开屏页面的反馈信息等反馈给服务器。在通常情况下,处理器806只会在移动终端800处于WiFi环境下时,才会控制WiFi模块802与服务器交互,以便降低用户的经济负担。
显示单元803用于显示由用户输入的信息或提供给用户的信息。显示单元803可包括显示面板8031,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板8031。显示单元803可以在处理器806控制Window Manager创建替代开屏页面后,对替代开屏页面进行显示。另外,如果某个APP并不是需要进行开屏显示管理的目标APP,则显示单元803还会在该APP启动的过程中,根据该APP自带SDK的控制实现原开屏页面的显示。
用户输入单元804可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元804可包括触控面板8041以及其他输入设备8042。触控面板8041,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板8041上或在触控面板8041附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板8041可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器806,并能接收处理器806发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板8041。除了触控面板8041,用户输入单元804还可以包括其他输入设备8042。具体地,其他输入设备8042可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。
进一步的,触控面板8041可覆盖显示面板8031,当触控面板8041检测到在其上或附近的触摸操作后,传送给处理器806以确定触摸事件的类型,随后处理器806根据触摸事件的类型在显示面板8031上提供相应的视觉输出。虽然在图8中,触控面板8041与显示面板8031是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板8041与显示面板8031集成而实现移动终端的输入和输出功能,具体此处不做限定。
在本实施例中,用户可以通过用户输入单元804实现预设管理名单的设置,页面数据的指定等。另外,当显示单元803在显示替代开屏页面时,触控面板8041可以接收用户的输入触控,记录用户的兴趣点等。
存储器805可用于存储软件程序以及各种数据。存储器805可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器805可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。本实施例中的存储器805中至少存储有可以实现第一实施例或第二实施例中开屏页面显示管理方法的计算机程序。除此之外,存储器805当中还可以存储有用于Window Manager创建替代开屏页面的页面数据、用于确定哪些APP需要进行开屏显示管理,哪些不需要进行开屏显示管理的预设管理名单等。
处理器806是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器805内的软件程序和/或模块,以及调用存储在存储器805内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器806可包括一个或多个处理单元;优选的,处理器806可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器806中。
当目标APP启动时,必定会在进程管理器中建立进程,因此处理器806根据进程管理器的管理数据可对目标APP的启动进行状态进行监测。当处理器806确定目标APP创建进程启动后,可以进一步从活动窗口管理数据中可以了解各待显示页面的显示顺序,因为只有具有最前显示顺序的待显示页面才是在下一时刻会显示的页面。因此,处理器806可以利用活动窗口管理数据确定原开屏页面是否预备在下一刻显示出。如果是,则处理器806调用Window Manager根据存储器805中的与该目标APP对应的页面数据创建替代开屏页面,并对替代开屏页面进行显示。
不同目标APP可以由不同的替代开屏页面,所以,处理器806可以控制存储器805将各目标APP的名称与其替代开屏页面之页面数据进行关联保存。当需要对某一个APP的开屏页面进行显示管理时,处理器806可以获取与该目标APP对应的页面数据,并让WindowManager创建该目标APP的专属替代开屏页面。
在前述描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本实施例提供的移动终端,通过对目标APP的启动进行状态进行监测,并且在该目标APP的原开屏页面具备最前显示顺序时,采用由Window Manager创建的替代开屏页面遮挡原开屏页面,从而在用户视觉上形成替代开屏页面“替代”原开屏页面显示的效果,能够避免应用程序单一地根据SDK的控制进行开屏显示所造成的用户体验低的问题,提升了用户体验。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种开屏页面显示管理方法,其特征在于,所述开屏页面显示管理方法包括:
基于进程管理器的进程管理信息确定目标应用程序当前处于正在启动的启动进行状态;
根据活动窗口Activity的管理数据确定所述目标应用程序的原开屏页面是否具备最前显示顺序,所述管理数据用于表征终端当前各待显示页面的显示顺序;
若是,则获取由窗口管理程序Window Manager创建的替代开屏页面,并对所述替代开屏页面进行显示。
2.如权利要求1所述的开屏页面显示管理方法,其特征在于,所述对所述替代开屏页面进行显示之后,还包括:在确定原开屏页面的显示结束之后,结束对所述替代开屏页面的显示。
3.如权利要求2所述的开屏页面显示管理方法,其特征在于,所述确定原开屏页面的显示结束的步骤包括:
对所述替代开屏页面的替代显示时间进行监测;确定所述替代显示时间大于所述目标应用程序原开屏页面的预估显示时间后,结束对所述替代开屏页面的显示;
或,
根据活动窗口的管理数据确定所述目标应用程序的原开屏页面失去最前显示顺序后,结束对所述替代开屏页面的显示。
4.如权利要求1所述的开屏页面显示管理方法,其特征在于,根据活动窗口的管理数据确定所述目标应用程序的原开屏页面具备最前显示顺序之后,还包括:
确定当前距所述原开屏页面具备最前显示顺序起的时间超过预设时长,且所述替代开屏页面仍未成功显示,取消对所述替代开屏页面的显示。
5.如权利要求1所述的开屏页面显示管理方法,其特征在于,所述根据进程管理器的进程管理信息确定目标应用程序当前处于正在启动的启动进行状态的步骤包括:
调用进程管理器对终端中各应用程序的启动进行监测;
当进程管理器监测到当前存在正在启动的应用程序时,确定所述应用程序在预设管理名单中存在,则判定所述应用程序为目标应用程序,且所述目标应用程序当前处于正在启动的启动进行状态。
6.如权利要求1-5任一项所述的开屏页面显示管理方法,其特征在于,所述根据活动窗口的管理数据确定所述目标应用程序的原开屏页面是否具备最前显示顺序的步骤包括:
对活动窗口堆栈Activity Task的栈顶元素进行监测,判定所述目标应用程序的原开屏页面对应的活动窗口是否位于所述活动窗口堆栈的栈顶,若是则判定所述目标应用程序的原开屏页面具备最前显示顺序,否则判定所述目标应用程序的原开屏页面不具备最前显示顺序。
7.如权利要求6所述的开屏页面显示管理方法,其特征在于,所述对活动窗口堆栈的栈顶元素进行监测的步骤包括:
按照预设频率周期性地查询所述活动窗口堆栈的栈顶元素,且相邻两次查询间的时间间隔小于所述原开屏页面从具备最前显示顺序到完全渲染显示的时长。
8.如权利要求7所述的开屏页面显示管理方法,其特征在于,所述开屏页面显示管理方法还包括:
若查询次数超过预设查询次数,则停止查询并取消对所述替代开屏页面的显示。
9.一种终端,其特征在于,所述终端包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的应用程序开屏页面显示管理程序,以实现以下步骤:
基于进程管理器的进程管理信息确定目标应用程序当前处于正在启动的启动进行状态;
根据活动窗口的管理数据确定所述目标应用程序的原开屏页面是否具备最前显示顺序,所述管理数据用于表征终端当前各待显示页面的显示顺序;
若是,则获取由窗口管理程序创建的替代开屏页面,并对所述替代开屏页面进行显示。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
基于进程管理器的进程管理信息确定目标应用程序当前处于正在启动的启动进行状态;
根据活动窗口的管理数据确定所述目标应用程序的原开屏页面是否具备最前显示顺序,所述管理数据用于表征终端当前各待显示页面的显示顺序;
若是,则获取由窗口管理程序创建的替代开屏页面,并对所述替代开屏页面进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710495794.7A CN107402781B (zh) | 2017-06-26 | 2017-06-26 | 开屏页面显示管理方法、终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710495794.7A CN107402781B (zh) | 2017-06-26 | 2017-06-26 | 开屏页面显示管理方法、终端及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107402781A true CN107402781A (zh) | 2017-11-28 |
CN107402781B CN107402781B (zh) | 2020-10-27 |
Family
ID=60404408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710495794.7A Active CN107402781B (zh) | 2017-06-26 | 2017-06-26 | 开屏页面显示管理方法、终端及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107402781B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108207A (zh) * | 2017-12-13 | 2018-06-01 | 北京奇虎科技有限公司 | 广告展现方法以及装置 |
CN109298907A (zh) * | 2018-08-23 | 2019-02-01 | Oppo广东移动通信有限公司 | 应用程序显示方法、应用程序显示装置及终端 |
CN109783355A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 页面元素获取方法、系统、计算机设备及可读存储介质 |
CN110020325A (zh) * | 2018-08-17 | 2019-07-16 | 深圳壹账通智能科技有限公司 | 页面加载方法、装置、设备及可读存储介质 |
CN111198996A (zh) * | 2019-12-20 | 2020-05-26 | 上海淇玥信息技术有限公司 | 一种页面展示的方法、装置和电子设备 |
CN111399928A (zh) * | 2018-12-14 | 2020-07-10 | 北京奇虎科技有限公司 | 应用程序的启动方法、装置、电子设备及可读存储介质 |
CN111538574A (zh) * | 2020-03-27 | 2020-08-14 | 北京达佳互联信息技术有限公司 | 任务堆栈的管理方法、装置、终端及存储介质 |
CN112307401A (zh) * | 2020-11-10 | 2021-02-02 | 深圳市欢太科技有限公司 | 一种页面展示方法、装置、存储介质及电子设备 |
CN114047994A (zh) * | 2021-11-19 | 2022-02-15 | 必要鸿源(北京)科技有限公司 | 模态页面的展示方法、装置、电子设备及存储介质 |
CN114153535A (zh) * | 2021-11-12 | 2022-03-08 | 上海尚往网络科技有限公司 | 用于在开屏页跳转页面的方法、设备、介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484176A (zh) * | 2014-12-16 | 2015-04-01 | 北京奇虎科技有限公司 | 一种安卓系统窗口对象获取方法和装置 |
US20160117082A1 (en) * | 2014-10-27 | 2016-04-28 | Google Inc. | Integrated task launcher user interface |
CN106548382A (zh) * | 2016-12-21 | 2017-03-29 | Tcl集团股份有限公司 | 一种广告屏蔽方法及智能终端 |
CN106775817A (zh) * | 2016-11-23 | 2017-05-31 | 深圳铂睿智恒科技有限公司 | 智能终端开屏广告的控制方法、系统及智能终端 |
-
2017
- 2017-06-26 CN CN201710495794.7A patent/CN107402781B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160117082A1 (en) * | 2014-10-27 | 2016-04-28 | Google Inc. | Integrated task launcher user interface |
CN104484176A (zh) * | 2014-12-16 | 2015-04-01 | 北京奇虎科技有限公司 | 一种安卓系统窗口对象获取方法和装置 |
CN106775817A (zh) * | 2016-11-23 | 2017-05-31 | 深圳铂睿智恒科技有限公司 | 智能终端开屏广告的控制方法、系统及智能终端 |
CN106548382A (zh) * | 2016-12-21 | 2017-03-29 | Tcl集团股份有限公司 | 一种广告屏蔽方法及智能终端 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108207B (zh) * | 2017-12-13 | 2021-09-07 | 北京奇虎科技有限公司 | 广告展现方法以及装置 |
CN108108207A (zh) * | 2017-12-13 | 2018-06-01 | 北京奇虎科技有限公司 | 广告展现方法以及装置 |
CN110020325A (zh) * | 2018-08-17 | 2019-07-16 | 深圳壹账通智能科技有限公司 | 页面加载方法、装置、设备及可读存储介质 |
CN109298907A (zh) * | 2018-08-23 | 2019-02-01 | Oppo广东移动通信有限公司 | 应用程序显示方法、应用程序显示装置及终端 |
CN109783355A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 页面元素获取方法、系统、计算机设备及可读存储介质 |
CN111399928A (zh) * | 2018-12-14 | 2020-07-10 | 北京奇虎科技有限公司 | 应用程序的启动方法、装置、电子设备及可读存储介质 |
CN111198996A (zh) * | 2019-12-20 | 2020-05-26 | 上海淇玥信息技术有限公司 | 一种页面展示的方法、装置和电子设备 |
CN111538574A (zh) * | 2020-03-27 | 2020-08-14 | 北京达佳互联信息技术有限公司 | 任务堆栈的管理方法、装置、终端及存储介质 |
CN111538574B (zh) * | 2020-03-27 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 任务堆栈的管理方法、装置、终端及存储介质 |
CN112307401A (zh) * | 2020-11-10 | 2021-02-02 | 深圳市欢太科技有限公司 | 一种页面展示方法、装置、存储介质及电子设备 |
CN114153535A (zh) * | 2021-11-12 | 2022-03-08 | 上海尚往网络科技有限公司 | 用于在开屏页跳转页面的方法、设备、介质及程序产品 |
CN114153535B (zh) * | 2021-11-12 | 2024-04-05 | 上海尚往网络科技有限公司 | 用于在开屏页跳转页面的方法、设备、介质及程序产品 |
CN114047994A (zh) * | 2021-11-19 | 2022-02-15 | 必要鸿源(北京)科技有限公司 | 模态页面的展示方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107402781B (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402781A (zh) | 开屏页面显示管理方法、终端及计算机可读存储介质 | |
CN107508961A (zh) | 一种活动窗口启动方法、终端及计算机可读存储介质 | |
CN107562864A (zh) | 一种广告屏蔽方法、移动终端及计算机可读存储介质 | |
CN107734179A (zh) | 一种消息提示方法、移动终端 | |
CN106534940A (zh) | 直播入口预览图的显示方法及装置 | |
CN107992371A (zh) | 复制粘贴方法、装置及计算机可读存储介质 | |
CN106375179A (zh) | 一种显示即时通信消息的方法和装置 | |
CN104424211B (zh) | 一种基于微博的业务数据的发布方法、装置和系统 | |
CN108446059A (zh) | 设置快捷应用的方法、终端和计算机存储介质 | |
CN108052366A (zh) | 应用图标显示方法、终端及存储介质 | |
CN104978353B (zh) | 一种桌面应用的生成控制方法、装置及系统 | |
CN108205408A (zh) | 消息展示方法及装置 | |
CN107368298A (zh) | 一种文本控件模拟触控方法、终端及计算机可读存储介质 | |
CN110134306A (zh) | 一种数据分享方法、装置及计算机可读存储介质 | |
CN110233929A (zh) | 一种显示控制方法及终端设备 | |
CN106503077A (zh) | 媒体内容的管理方法、装置和设备 | |
CN108769787A (zh) | 一种视频自动缓存方法、终端及计算机可读存储介质 | |
CN110069188A (zh) | 标识显示方法及终端设备 | |
CN110347459A (zh) | 一种窗口最小化方法、装置、存储介质及交互智能平板 | |
CN107948429A (zh) | 一种内容演示方法及终端设备 | |
CN110084635A (zh) | 终端广告管理方法、广告管理优化系统、终端及存储介质 | |
CN107203323A (zh) | 一种图标交互方法、设备以及计算机可读介质 | |
CN108304575A (zh) | 一种标识显示的方法及终端 | |
CN108540649A (zh) | 一种内容展示方法及移动终端 | |
CN106155888A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200924 Address after: Room 105-67309, No. 6, Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant after: ZHUHAI DAHENGQIN TECHNOLOGY DEVELOPMENT Co.,Ltd. Address before: 518057 Guangdong province Shenzhen city Nanshan District high tech park, No. 9018 North Central Avenue, building A, floor 10, Han's innovation Applicant before: NUBIA TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |