屏幕显示状态控制方法及相关产品与流程

文档序号:16207343发布日期:2018-12-08 07:16阅读:137来源:国知局
屏幕显示状态控制方法及相关产品与流程
本申请涉及数据处理
技术领域
,具体涉及屏幕显示状态控制方法及相关产品。
背景技术
随着科技和经济的快速发展,手机、平板电脑和智能可穿戴设备等电子产品已经成为人们工作和生活中不可获取的一部分,人们通过电子产品实现各种包括购物、导航、点餐、通信或娱乐游戏等功能,因此一个电子终端往往需要同时开启多个应用程序。在开启多个应用程序的同时,许多程序被置于无法与用户交互的层面,甚至是随时可能被消亡的层面。这些应用程序在消亡之前仍会存在一段时间,这一方面会造成电子终端内存消耗,另一方面可能对正在执行的前台应用程序造成影响,影响用户的体验。技术实现要素:本申请实施例提供了一种屏幕显示状态控制方法及相关产品,以期通过检测应用程序的进程状态,对应用程序发起的屏幕旋转请求进行处理,减少响应屏幕旋转请求时的内存消耗,同时减少因执行非前台应用程序的屏幕旋转请求而对前台应用程序造成的影响。第一方面,本申请实施例提供一种屏幕显示状态控制方法,应用于电子装置,所述屏幕显示状态控制方法包括:接收应用程序发起的屏幕旋转请求;检测所述应用程序的进程状态;根据所述应用程序的进程状态处理所述屏幕旋转请求。第二方面,本申请提供一种屏幕显示状态控制装置,所述屏幕显示状态控制装置包括请求获取单元、进程确定单元和请求处理单元,其中:所述请求获取单元,用于接收应用程序发起的屏幕旋转请求;所述进程确定单元,用于检测所述应用程序的进程状态;所述请求处理单元,用于根据所述应用程序的进程状态处理所述屏幕旋转请求。第三方面,本申请实施例提供一种电子装置,包括处理器、存储器和通信接口,所述存储器中存储有软件代码,并且被配置由所述处理器执行,所述软件代码包括用于执行第一方面任一方法中的步骤的指令。第四方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序在运行时执行第一方面任一方法所述的步骤的指令。第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。可以看出,本申请实施例中,电子装置首先获取目标应用程序发起的屏幕旋转请求,然后确定发起屏幕旋转请求的目标应用程序的进程状态,最后根据目标应用程序的进程状态处理屏幕旋转请求。由于对屏幕旋转请求进行的处理包括响应处理和不响应处理。因此,电子装置通过确定目标应用程序的进程状态,对目标应用程序发起的屏幕旋转请求进行处理,可以避免针对所有屏幕旋转请求都执行屏幕旋转操作,在进程状态层面实现更加精确的屏幕旋转控制,同时可以减少因执行不必要屏幕旋转请求而带来的内存消耗,有利于提高电子装置控制屏幕旋转的精确度和内存使用效率。附图说明下面将对本申请实施例所涉及到的附图作简单地介绍。图1a是本申请实施例提供的一种电子装置结构示意图;图1b是本申请实施例提供的一种屏幕显示状态控制方法流程示意图;图1c是本申请实施例提供的一种电子装置竖屏显示的示意图;图1d是本申请实施例提供的一种电子装置横屏显示的示意图;图2是本申请实施例提供的另一种屏幕显示状态控制方法流程示意图;图3是本申请实施例提供的另一种屏幕显示状态控制方法流程示意图;图4是本申请实施例提供的另一种屏幕显示状态控制方法流程示意图;图5是本申请实施例提供的一种电子装置示意图;图6是本申请实施例提供的一种屏幕显示状态控制装置的功能单元组成框图。具体实施方式为了使本
技术领域
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。本申请实施例所涉及到的电子装置可以包括各种具有无线通信功能的手持设备、车载设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,ue),移动台(mobilestation,ms),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为电子装置。当然,本申请实施例中的电子装置可以配置一些外围配件,例如,屏幕保护膜、保护套等等。本申请实施例中的电子装置至少可以包括处理器,以及与处理器连接的重力传感器和显示屏。上述处理器可以集成sensorhub模块,或者,电子装置可以包含sensorhub模块,可以通过处理器控制sensorhub模块完成下述本申请实施例。下面对本申请实施例进行详细介绍。请参阅图1a,图1a是本申请实施例提供的一种电子装置100的结构示意图,上述电子装置100包括:处理器110和屏幕120,屏幕120与处理器110互相连接。所述处理器110,用于接收目标应用程序发起的屏幕旋转请求;确定所述目标应用程序的进程状态;根据所述目标应用程序的进程状态处理所述屏幕旋转请求;所述屏幕120,用于显示屏幕旋转。可以看出,本申请实施例中,电子装置首先接收应用程序发起的屏幕旋转请求,然后检测发起屏幕旋转请求的应用程序的进程状态,最后根据应用程序的进程状态处理屏幕旋转请求。由于对屏幕旋转请求进行的处理包括执行处理和不响应处理。因此,电子装置通过检测应用程序的进程状态,对应用程序发起的屏幕旋转请求进行处理,可以避免针对所有屏幕旋转请求都执行屏幕旋转操作,在进程状态层面实现更加精确的屏幕旋转控制,同时可以减少因执行不必要屏幕旋转请求而带来的内存消耗,有利于提高电子装置控制屏幕旋转的精确度和内存使用效率。请参阅图1b,图1b是本申请实施例提供的一种屏幕显示状态控制方法流程示意图,如图1b所示,本屏幕显示状态控制方法包括如下步骤:步骤101、获取目标应用程序发起的屏幕旋转请求。具体地,电子装置可以通过内置的重力传感器将受到的重力变化转化为电信号从而触发屏幕旋转,或者,应用程序通过连接旋转接口,唤起屏幕旋转功能从而直接进行屏幕旋转。电子装置可以通过系统设置开启屏幕旋转或关闭屏幕旋转,这种设置可以应用在所有界面中;也可以通过应用程序设置开启屏幕旋转或关闭屏幕旋转,这种设置只能应用在本应用程序中。请参阅图1c,图1c为本申请实施例提供的一种电子装置竖屏显示的示意图,如图1c所示,当前浏览器应用程序设置了开启屏幕旋转,那么该应用程序可发起屏幕旋转请求并获得系统响应,当重力传感器检测到电子装置的重力在竖直方向的值超过预设阈值时,会控制终端屏幕竖直显示。同理,如图1d所示,图1d为本申请实施例提供的一种电子装置横屏显示的示意图,当重力传感器检测到电子装置的重力在横平方向的值超过预设阈值时,会控制终端屏幕发生旋转,从原本的竖直显示旋转为横向显示。步骤102、确定所述目标应用程序的进程状态。具体地,当应用程序启动运行时,系统会为之创建相应的进程,并通过进程调用系统资源,运行该应用程序。进程可分为前台进程、可见进程、服务进程、后台进程或空进程等多个类型,通过对进程类型的检测,可以对进程状态进行确定,而进程状态可以表征目标应用程序运行阶段的状态,因此可以确定应用程序的运行阶段处于前台运行阶段,后台运行阶段或即将消亡阶段。进程类型的检测可通过对进程activity状态的检测,对service调用方法的检测,对应用程序特定服务的检测或对oom_adj参数值的检测。可选的,检测应用程序的进程状态包括:获取目标应用程序的进程状态描述信息,进程状态描述信息用于表示目标应用程序的进程状态;根据进程状态描述信息确定目标应用程序的进程状态。具体地,目标应用程序的状态描述信息包括进程参数、函数名或函数执行状态等,通过这些状态描述信息,能够描述目标应用程序的进程状态,进程状态包括表征目标应用程序运行阶段的状态,那么进程状态可以是就绪状态、挂起状态和执行状态;或者是前台状态、可见状态或后台状态。可选的,目标应用程序的进程状态描述信息为目标应用程序在内存保护机制oom下的oom_adj参数。具体地,堆内存溢出(outofmemory,oom)是内存保护机制中的一种,android和ios等系统都有对应的应用,oom中包含oom_adj参数因子,对应不同的进程类型,oom_adj参数值越大,对应进程在内存中的优先级越低,有越大的概率被oom机制销毁。若目标应用程序a发起屏幕旋转请求,电子装置检测该目标应用程序对应进程的当前oom_adj参数值,并通过oom_adj参数值确定目标应用程序a的进程状态,即可对其发起的屏幕旋转请求进行对应的处理,处理方式包括响应屏幕旋转请求或不响应屏幕旋转请求。其中,oom_adj参数值可以为-17,-16,-11或0~16之间的整数,每个参数值对应一个进程类型,如表1所示,其中应用程序的进程oom_adj参数值大于0或等于0,而系统进程的oom_adj参数值可以小于0。那么oom_adj参数值对应的状态可以与进程类型进行一一对应,例如应用程序a的oom_adj参数值为0时,其进程类型为前台进程,进程对应状态可以设为前台状态,oom_adj参数值为1时,其进程类型为可见进程,进程对应状态可以设为可见状态等;oom_adj参数值对应的状态也可根据oom_adj参数值所处的范围进行设定,例如将oom_adj参数值等于0时对应的进程状态设置为执行状态,将oom_adj参数值大于0时对应的进程状态设置为不可执行状态等。oom_adj参数的值与进程类型的对应关系如表1所示:表1oom_adj与进程类型的对应表可选的,根据进程状态描述信息确定目标应用程序的进程状态包括:当oom_adj参数值等于或大于9时,确定进程状态为第一状态。具体地,oom_adj参数值与进程类型的对照如表1所示,当目标应用程序的进程oom_adj参数值等于或大于9时,对应的进程类型为缓存进程,随时有可能被oom机制销毁,该类进程对应的目标应用程序为后台应用程序,用户长时间不对其进行操作,用户需要通过该类目标应用程序进行屏幕旋转的概率极低,因此将该类进程状态设为第一状态。可选的,根据进程状态描述信息确定目标应用程序的进程状态还包括:当oom_adj参数值小于9时,确定进程状态为第二状态。具体地,oom_adj参数值与进程类型的对照如表1所示,当目标应用程序的进程oom_adj参数值小于9时,对应的进程类型为非缓存进程,在oom机制中具有较高的优先级,用户有较大概率通过该类目标应用程序进行屏幕旋转,将其对应的进程状态设置为第二状态。根据上述说明,可获得第一种oom_adj参数值、进程类型和进程状态对应关系,如表2所示:表2第一种oom_adj参数值与进程状态对应关系表oom_adj(简写为adj)的值进程类型进程状态adj≥9缓存进程第一状态adj<9非缓存进程第二状态可见,在本申请实施例中,根据oom_adj参数值将进程状态分类为两个状态,以确保对目标应用程序发起的屏幕旋转请求进行差异化处理,提升电子设备的智能性。可选的,根据进程状态描述信息确定目标应用程序的进程状态的方法还包括:当oom_adj参数值小于或等于0时,确定进程状态为第三状态;当oom_adj参数值大于0且小于5时,确定进程状态为第四状态;当oom_adj参数值大于或等于5且小于9时,确定进程状态为第五状态。具体地,根据表1中oom_adj参数值与进程类型的对应关系可以看出,当oom_adj参数值处于小于9的范围时,其中包含的进程类型种类较多,而每一个进程类型都具有不同的特点,那么应该针对这些进程类型进行更详细的状态分类,以确保系统对应用程序发起的屏幕旋转请求进行更准确的处理。根据上述说明,可获得第二种oom_adj参数值、进程类型和进程状态的对应关系,如表3所示:表3第二种oom_adj参数值和进程状态的对应关系表可见,在本申请实施例中,若应用程序的进程状态处于非第一状态,对应用程序的进程状态根据oom_adj参数值进行进一步的划分,以确保系统能够对应用程序发起的屏幕旋转请求进行更准确的响应,提升电子装置的智能性和用户体验。可选的,检测目标应用程序的进程状态的方法还包括:检测预设时段内目标应用程序的运行状态由第一进程状态变成第二进程状态;根据目标应用程序的进程状态处理屏幕旋转请求,包括:显示屏幕旋转请求并接收用户的选择操作,以及根据选择操作处理屏幕旋转请求。具体地,检测目标应用程序的进程状态的方法还包括不仅获取目标应用程序当前的进程状态,还要获取目标应用程序在预设时间段内的历史进程状态,若历史运行状态由第一进程状态变成第二进程状态,说明该应用程序还在被用户持续关注,其发起的屏幕旋转请求需要显示给用户进行选择操作,避免直接不响应屏幕旋转请求造成的指令遗失。其中,预设时间段可以是5min(分钟),10min(分钟),1h(小时),2h或3h,预设时间段越短,表明用户唤起该目标应用程序越频繁。用户的选择操作包括接受操作或拒绝操作,若用户的选择操作是接受操作,则响应屏幕旋转请求,若用户的选择操作是拒绝操作,则不响应屏幕旋转请求。步骤103、根据所述目标应用程序的进程状态处理所述屏幕旋转请求。具体地,屏幕旋转是电子装置与用户的交互行为,为了方便用户查看电子装置内容,在用户改变电子装置的方向时,电子装置的屏幕会对应进行旋转,包括向左旋转90°,向右旋转90°,向左旋转180°,或向右旋转180°等,在这个过程中,电子装置的显示屏从横屏切换为竖屏,从竖屏切换为横屏,或者显示屏内容翻转。目标应用程序对应的进程状态不同,说明用户与其进行交互的需求不同,用户通过其进行屏幕旋转操作的概率也不同,因此需要根据不同的进程状态对目标应用程序发起的屏幕旋转请求进行不同的处理,处理方式包括响应屏幕旋转请求、不响应屏幕旋转请求、将屏幕旋转请求显示给用户进行选择,或者根据预设的条件执行或不响应屏幕旋转请求等。可选的,根据目标应用程序的进程状态处理屏幕旋转请求的方法包括:当进程状态为第一状态时,不响应屏幕旋转请求。将进程状态处于第一状态用于表征目标应用程序处于后台,并且其进程即将被销毁,那么用户几乎没有可能需要通过该目标应用程序进行屏幕旋转,因此不响应它发起的屏幕旋转请求。可选的,根据目标应用程序的进程状态处理屏幕旋转请求的方法还包括:当进程状态为第二状态时,响应屏幕旋转请求。将进程状态处于第二状态用于表征目标应用程序处于前台或可见状态,目标进程正在与用户发生交互或者有很大的可能性会与用户发生交互,那么,对于这类目标应用程序发起的屏幕旋转请求需要进行相应。可选的,根据目标应用程序的进程状态处理屏幕旋转请求的方法还包括:当进程状态为第三状态时,执行屏幕旋转请求;当进程状态为第四状态时,检测接收到屏幕旋转请求的次数是否大于预设阈值,若是,则不响应屏幕旋转请求;若否,则执行屏幕旋转请求;当进程状态为第五状态时,检测该目标应用程序的屏幕旋转请求是否曾被拒绝执行,若是,则不响应屏幕旋转请求,若否,则显示屏幕旋转请求并接收用户的选择操作,以及根据选择操作处理屏幕旋转请求,选择操作包括接受操作或拒绝操作。将进程状态处于非第一状态进行进一步的划分,同时,针对不同的状态进行不同的处理,当接收到目标应用程序的屏幕旋转请求时,若确定目标应用程序的进程状态为第三状态,说明该目标应用程序在系统中的重要程度高,直接执行该目标应用程序发起的屏幕旋转请求。若确定目标应用程序的进程状态为第四状态,说明目标应用程序不与用户进行直接交互,同时检测到该目标应用程序的屏幕旋转请求次数大于预设阈值,预设阈值可以为5,8或10等,说明该目标应用程序可能处于功能障碍或恶意攻击状态,导致屏幕频繁旋转,影响用户查看屏幕的体验,因此可不响应该目标应用程序发起的屏幕旋转请求,若没有检测到目标应用程序的屏幕旋转请求次数大于预设阈值,则执行该目标应用程序发起的屏幕旋转请求。若确定目标应用程序的进程状态为第五状态,该目标应用程序也不与用户进行直接交互,且优先等级低,因此,电子装置首先检测该应用程序是否曾发起过屏幕旋转请求并被拒绝执行,发起的方式包括自动向系统发起,或者显示在屏幕上接收用户操作,若是,则说明该应用程序的屏幕旋转请求不需要执行,不响应屏幕旋转请求,若否,则说明该目标应用程序的屏幕旋转请求还未进行评估,向用户显示该屏幕旋转请求并接收用户的选择操作,选择操作包括接受操作或拒绝操作;若用户进行接受操作,则响应该屏幕旋转请求,若用户进行拒绝操作,则不响应该屏幕旋转请求。在本申请实施例中,通过对进程状态进行分类设置,然后根据进程状态对目标应用程序的屏幕旋转请求进行差异化处理,可以减少执行优先级低的应用程序的屏幕旋转请求对用户体验造成的不良影响,同时又可避免对某些可能需要执行的屏幕旋转请求的遗失,提升了电子装置的智能性。可见,在本申请实施例中,电子装置首先接收目标应用程序发起的屏幕旋转请求,然后检测发起屏幕旋转请求的应用程序的进程状态,最后根据目标应用程序的进程状态处理屏幕旋转请求。由于对屏幕旋转请求进行的处理包括响应处理和不响应处理。因此,电子装置通过检测目标应用程序的进程状态,对目标应用程序发起的屏幕旋转请求进行处理,可以避免针对所有屏幕旋转请求都响应屏幕旋转操作,在进程状态层面实现更加精确的屏幕旋转控制,同时可以减少因响应不必要屏幕旋转请求而带来的内存消耗,有利于提高电子装置控制屏幕旋转的精确度和内存使用效率。请参阅图2,图2是本申请实施例提供的另一种屏幕显示状态控制方法流程示意图,如图2所示,所述屏幕显示状态控制方法包括如下步骤:步骤201、获取目标应用程序发起的屏幕旋转请求;步骤202、获取应用程序在内存保护机制oom下oom_adj参数值;步骤203、当oom_adj参数值等于或大于9时,确定进程状态为第一状态,执行步骤205;步骤204、当oom_adj参数值小于9时,确定进程状态为第二状态,执行步骤206;步骤205、不响应屏幕旋转请求;步骤206、响应屏幕旋转请求。在本申请实施例中,根据oom_adj参数值将进程状态分类为两个状态,并对进程状态不同的目标应用程序发起的屏幕旋转请求进行不同的处理,这个过程可以减少系统执行后台应用程序发起的屏幕旋转请求所造成的系统开销,同时可减少执行不必要的屏幕旋转请求对屏幕显示造成的影响,提升了电子装置的智能性。请参阅图3,图3是本申请实施例提供的另一种屏幕显示状态控制方法流程示意图,如图3所示,所述屏幕显示状态控制方法包括如下步骤:步骤301、获取目标应用程序发起的屏幕旋转请求;步骤302、获取目标应用程序在内存保护机制oom下oom_adj参数值;步骤303、当oom_adj参数值等于或大于9时,确定进程状态为第一状态,执行步骤307;步骤304、当oom_adj参数值小于或等于0时,确定进程状态为第三状态,执行步骤308;步骤305、当oom_adj参数值大于0且小于5时,确定进程状态为第四状态,执行步骤309;步骤306、当oom_adj参数值大于或等于5且小于9时,确定进程状态为第五状态,执行步骤310;步骤307、不响应屏幕旋转请求;步骤308、响应屏幕旋转请求;步骤309、检测接收到屏幕旋转请求的次数是否大于预设阈值,若是,则执行步骤307,若否,则执行步骤308;步骤310、检测该应用程序的屏幕旋转请求是否曾被拒绝执行,若是,则执行步骤307,若否,则执行步骤311;步骤311、显示屏幕旋转请求并接收用户的选择操作,以及根据选择操作处理屏幕旋转请求,选择操作包括接受操作或拒绝操作,若接收到接受操作,则执行步骤308,若接收到拒绝操作,则执行步骤307。在本申请实施例中,将oom_adj参数值等于或大于9的进程状态确定为第一状态,对oom_adj参数值小于9的进程状态进行进一步的划分,以确保系统能够对目标应用程序发起的屏幕旋转请求进行更准确的响应,然后根据进程状态对目标应用程序的屏幕旋转请求进行差异化处理,可以减少执行优先级低的目标应用程序的屏幕旋转请求对用户体验造成的不良影响,同时又可避免对某些可能需要执行的屏幕旋转请求的遗失,提升了电子装置的智能性。请参阅图4,图4是本申请实施例提供的另一种屏幕显示状态控制方法流程示意图,如图4所示,所述屏幕显示状态控制方法包括如下步骤:步骤401、获取目标应用程序发起的屏幕旋转请求;步骤402、获取目标应用程序在内存保护机制oom下oom_adj参数值;步骤403、当oom_adj参数值等于或大于9时,确定进程状态为第一状态;步骤404、当oom_adj参数值小于9时,确定进程状态为第二状态;步骤405、检测预设时段内目标应用程序的运行状态由第一进程状态变成第二进程状态;步骤406、显示屏幕旋转请求并接收用户的选择操作,选择操作包括接收操作或拒绝操作;步骤407、若接收到接受操作,则响应屏幕旋转请求;步骤408、若接收到拒绝操作,则不响应屏幕旋转请求。在本申请实施例中,根据oom_adj参数值将进程状态分类为两个状态,并检测在预设时间段内目标应用程序的运行状态是否由第一进程状态变成第二进程状态,若是,则表明用户对该进程进行持续关注,将该目标应用程序发起的屏幕旋转请求显示给用户进行选择操作。这个过程可以避免直接不响应屏幕旋转请求造成的指令遗失,提升了电子装置的智能性。如上述一致地,请参阅图5,图5是本申请实施例提供的一种电子装置的结构示意图,如图5所示,该电子装置包括处理器、存储器和通信接口,其中,上述存储器中存储有软件代码,并且被配置由上述处理器执行,上述软件代码包括用于执行以下步骤的指令:获取目标应用程序发起的屏幕旋转请求;确定所述目标应用程序的进程状态;根据所述目标应用程序的进程状态处理所述屏幕旋转请求。可以看出,本申请实施例中,电子装置首先接收目标应用程序发起的屏幕旋转请求,然后检测发起屏幕旋转请求的目标应用程序的进程状态,最后根据目标应用程序的进程状态处理屏幕旋转请求。由于对屏幕旋转请求进行的处理包括响应处理和不响应处理。因此,电子装置通过检测目标应用程序的进程状态,对目标应用程序发起的屏幕旋转请求进行处理,可以避免针对所有屏幕旋转请求都执行屏幕旋转操作,在进程状态层面实现更加精确的屏幕旋转控制,同时可以减少因执行不必要屏幕旋转请求而带来的内存消耗,有利于提高电子装置控制屏幕旋转的精确度和内存使用效率。在一个可能的示例中,在确定所述目标应用程序的进程状态方面,所述程序中的指令具体用于执行以下操作:获取所述目标应用程序的进程状态描述信息,所述进程状态描述信息用于表示所述目标应用程序的进程状态;根据所述进程状态描述信息确定所述目标应用程序的进程状态。在一个可能的示例中,在所述根据所述目标应用程序的进程状态处理所述屏幕旋转请求方面,所述程序中的指令具体用于执行以下操作:当所述进程状态为第一状态时,不响应所述屏幕旋转请求。在一个可能的示例中,在所述根据所述目标应用程序的进程状态处理所述屏幕旋转请求方面,所述程序中的指令还具体用于执行以下操作:当所述进程状态为第二状态时,响应所述屏幕旋转请求;或当所述进程状态为第三状态时,响应所述屏幕旋转请求;当所述进程状态为第四状态时,检测接收到所述屏幕旋转请求的次数是否大于预设阈值,若是,则不响应所述屏幕旋转请求;若否,则响应所述屏幕旋转请求;当所述进程状态为第五状态时,检测该目标应用程序的屏幕旋转请求是否曾被拒绝执行,若是,则不响应所述屏幕旋转请求,若否,则显示所述屏幕旋转请求并接收用户的选择操作,所述选择操作用于确定响应所述屏幕旋转请求或不响应所述屏幕旋转请求。在一个可能的示例中,所述目标应用程序的进程状态描述信息为所述目标应用程序在内存保护机制oom下的oom_adj参数,在所述根据所述进程状态描述信息确定所述目标应用程序的进程状态方面,所述程序中的指令具体用于执行以下操作:当所述oom_adj参数值等于或大于9时,确定所述进程状态为第一状态。在一个可能的示例中,在所述根据所述进程状态描述信息确定所述目标应用程序的进程状态方面,所述程序中的指令还具体用于执行以下操作:当所述oom_adj参数值小于9时,确定所述进程状态为第二状态;或当所述oom_adj参数值等于0时,确定所述进程状态为第三状态;当所述oom_adj参数值大于0且小于5时,确定所述进程状态为第四状态;当所述oom_adj参数值大于或等于5且小于9时,确定所述进程状态为第五状态。在一个可能的示例中,在检测所述应用程序的进程状态方面,所述程序中的指令还具体用于执行以下操作:检测预设时段内所述目标应用程序的运行状态由第一进程状态变成第二进程状态;所述根据所述目标应用程序的进程状态处理所述屏幕旋转请求,包括:根据所述屏幕旋转请求在所述屏幕上显示提示消息,所述提示消息用于提示用户进行选择操作,所述选择操作用于确定响应所述屏幕旋转请求或不响应所述屏幕旋转请求。上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。本申请实施例可以根据上述方法示例对电子装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。图6是本申请实施例中所涉及的屏幕显示状态控制装置600的功能单元组成框图。该屏幕显示状态控制装置600应用于电子装置,该屏幕显示状态控制装置600包括请求获取单元601、进程确定单元602和请求处理单元603,其中,所述请求获取单元601,用于接收目标应用程序发起的屏幕旋转请求;所述进程确定单元602,用于检测所述目标应用程序的进程状态,所述进程状态包括表征所述目标应用程序运行阶段的状态;所述请求处理单元603,用于根据所述目标应用程序的进程状态处理所述屏幕旋转请求。可以看出,本申请实施例中,电子装置首先接收目标应用程序发起的屏幕旋转请求,然后检测发起屏幕旋转请求的目标应用程序的进程状态,最后根据目标应用程序的进程状态处理屏幕旋转请求。由于对屏幕旋转请求进行的处理包括响应处理和不响应处理。因此,电子装置通过检测目标应用程序的进程状态,对目标应用程序发起的屏幕旋转请求进行处理,可以避免针对所有屏幕旋转请求都响应屏幕旋转操作,在进程状态层面实现更加精确的屏幕旋转控制,同时可以减少因响应不必要屏幕旋转请求而带来的内存消耗,有利于提高电子装置控制屏幕旋转的精确度和内存使用效率。在一个可能的示例中,在确定所述目标应用程序的进程状态方面,所述进程确定单元602具体用于:获取所述目标应用程序的进程状态描述信息,所述进程状态描述信息用于表示所述目标应用程序的进程状态;根据所述进程状态描述信息确定所述目标应用程序的进程状态。在一个可能的示例中,在根据所述目标应用程序的进程状态处理所述屏幕旋转请求方面,所述请求处理单元603具体用于:当所述进程状态为第一状态时,不响应所述屏幕旋转请求。在一个可能的示例中,在根据所述目标应用程序的进程状态处理所述屏幕旋转请求方面,所述请求处理单元603还具体用于:当所述进程状态为第二状态时,响应所述屏幕旋转请求;或当所述进程状态为第三状态时,响应所述屏幕旋转请求;当所述进程状态为第四状态时,检测接收到所述屏幕旋转请求的次数是否大于预设阈值,若是,则不响应所述屏幕旋转请求;若否,则响应所述屏幕旋转请求;当所述进程状态为第五状态时,检测该目标应用程序的屏幕旋转请求是否曾被拒绝执行,若是,则不响应所述屏幕旋转请求,若否,则显示所述屏幕旋转请求并接收用户的选择操作,所述选择操作用于确定响应所述屏幕旋转请求或不响应所述屏幕旋转请求。在一个可能的示例中,所述目标应用程序的进程状态描述信息为所述目标应用程序在内存保护机制oom下的oom_adj参数,在根据所述进程状态描述信息确定所述目标应用程序的进程状态方面,所述进程确定单元602具体用于:当所述oom_adj参数值等于或大于9时,确定所述进程状态为第一状态。在一个可能的示例中,在根据所述进程状态描述信息确定所述目标应用程序的进程状态方面,所述进程确定单元602还具体用于:当所述oom_adj参数值小于9时,确定所述进程状态为第二状态;或当所述oom_adj参数值等于0时,确定所述进程状态为第三状态;当所述oom_adj参数值大于0且小于5时,确定所述进程状态为第四状态;当所述oom_adj参数值大于或等于5且小于9时,确定所述进程状态为第五状态。在一个可能的示例中,所述进程确定单元602还具体用于:检测预设时段内所述目标应用程序的运行状态由第一进程状态变成第二进程状态;在根据所述目标应用程序的进程状态处理所述屏幕旋转请求方面,所述请求处理单元603具体用于:根据所述屏幕旋转请求在所述屏幕上显示提示消息,所述提示消息用于提示用户进行选择操作,所述选择操作用于确定响应所述屏幕旋转请求或不响应所述屏幕旋转请求。本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括移动终端。本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括移动终端。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、rom、ram、磁盘或光盘等。以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1