CN108762981B - 黑屏处理方法及相关装置 - Google Patents
黑屏处理方法及相关装置 Download PDFInfo
- Publication number
- CN108762981B CN108762981B CN201810395149.2A CN201810395149A CN108762981B CN 108762981 B CN108762981 B CN 108762981B CN 201810395149 A CN201810395149 A CN 201810395149A CN 108762981 B CN108762981 B CN 108762981B
- Authority
- CN
- China
- Prior art keywords
- thread
- detection task
- mobile terminal
- thread pool
- detection
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Telephone Function (AREA)
Abstract
本申请公开了一种黑屏处理方法及相关装置,应用于移动终端,包括:移动终端检测到用户针对移动终端的电源键的按压操作时,首先开启预设的检测任务,移动终端取消检测任务的触发条件包括显示屏唤醒取消和超时取消,其次,在检测到检测任务被取消时,获取取消检测任务的触发条件,最后,在检测到触发条件为超时取消时,执行重启操作。本申请有利于提高移动终端处理异常黑屏情况的智能性和灵活性。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种黑屏处理方法及相关装置。
背景技术
随着智能终端(如智能手机等)技术的迅速发展,以及越来越普及,现已成为用户日常生活中不可缺少的电子产品。在实际使用中,用户会遇到按手机的电源键powerkey但不亮屏的情况,由于此种情况下用户无法看到手机的触控反馈,会误认为手机坏了变成砖头,用户体验较差。
发明内容
本申请实施例提供一种黑屏处理方法及相关装置,有利于提高移动终端处理异常黑屏情况的智能性和灵活性。
第一方面,本申请实施例提供一种黑屏处理方法,应用于移动终端,所述方法包括:
检测到用户针对所述移动终端的屏幕唤醒操作时,开启预设的检测任务,所述移动终端取消所述检测任务的触发条件包括显示屏唤醒取消和超时取消;
在检测到所述检测任务被取消时,获取取消所述检测任务的触发条件;
在检测到所述触发条件为所述超时取消时,执行重启操作。
第二方面,本申请实施例提供一种黑屏处理装置,应用于移动终端,所述黑屏处理装置包括开启单元、获取单元和执行单元,其中,
所述开启单元,用于检测到用户针对所述移动终端的屏幕唤醒操作时,开启预设的检测任务,所述移动终端取消所述检测任务的触发条件包括显示屏唤醒取消和超时取消;
所述获取单元,用于在检测到所述检测任务被取消时,获取取消所述检测任务的触发条件;
所述执行单元,用于在检测到所述触发条件为所述超时取消时,执行重启操作。
第三方面,本申请实施例提供一种移动终端,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面或第二方面任一方法中所描述的部分或全部步骤。
可以看出,在本申请实施例中,移动终端检测到用户针对移动终端的电源键的按压操作时,首先开启预设的检测任务,移动终端取消检测任务的触发条件包括显示屏唤醒取消和超时取消,其次,在检测到检测任务被取消时,获取取消检测任务的触发条件,最后,在检测到触发条件为超时取消时,执行重启操作。可见,移动终端针对熄屏状态下按压电源按键异常黑屏的场景,能够通过启用预设的检测任务来准确识别出该场景,从而及时进行重启以消除该异常情况,有利于提高移动终端处理异常黑屏情况的智能性和灵活性。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1A是一种智能手机的程序运行空间的示意图;
图1B是一种安卓***的***架构图;
图2是本申请实施例提供的一种黑屏处理方法的流程示意图;
图3是本申请实施例公开的另一种黑屏处理方法的流程示意图;
图4是本申请实施例公开的另一种黑屏处理方法的流程示意图;
图5是本申请实施例公开的一种移动终端的结构示意图;
图6是本申请实施例公开的一种移动终端的功能单元组成框图;
图7是本申请实施例公开的一种智能手机的结构示意图。
具体实现方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下分别进行详细说明。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
如图1A所示,目前智能手机等移动终端一般设置有程序运行空间,该程序运行空间包括用户空间和操作***空间,其中,用户空间运行有一个或多个应用程序,该一个或多个应用程序为移动终端安装的第三方应用程序,本申请所涉及的异常黑屏检测算法就运行在用户空间,操作***空间运行有移动终端的操作***。
该移动终端具体可以运行安卓Android***、苹果公司开发的移动操作***iOS等,此处不做唯一限定。如图1B所示,以所述移动终端运行有Android***为例,对应的用户空间包括该Android***中的应用层(Applications),操作***空间可以包括该Android***中的应用程序框架层(Application Framework)、***运行库层(包括***运行库层Libraries和Android运行时Android Runtime)、Linux内核层(Linux Kernel)。其中,应用层上包括各类与用户直接交互的应用程序,或由Java语言编写的运行于后台的服务程序。例如,智能手机上实现的常见基本功能的程序,诸如短消息业务(Short MessagingService,SMS)短信,电话拨号,图片浏览器,日历,游戏,地图,万维网(World Wide Web,Web)浏览器等程序,以及开发人员开发的其他应用程序。应用程序框架层提供开发Android应用程序所需的一系列类库,能够用于重用组件,也可以通过继承实现个性化的扩展。***运行库层是应用程序框架的支撑,为Android***中的各个组件提供服务。***运行库层由***类库和Android运行时构成。Android运行时包含核心库和Dalvik虚拟机两部分。Linux内核层用于实现硬件设备驱动,进程和内存管理,网络协议栈,电源管理,无线通信等核心功能。
移动终端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备(例如智能手表、智能手环、计步器等)、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminal device)等等。为方便描述,上面提到的设备统称为移动终端。
下面对本申请实施例进行详细介绍。
请参阅图2,图2是本申请实施例提供了一种黑屏处理方法的流程示意图,应用于移动终端,本黑屏处理方法包括:
S201,移动终端检测到用户针对所述移动终端的屏幕唤醒操作时,开启预设的检测任务,所述移动终端取消所述检测任务的触发条件包括显示屏唤醒取消和超时取消;
其中,所述移动终端初始处于熄屏状态。
其中,所述屏幕唤醒操作包括针对所述移动终端的电源按键的按压操作,或者针对所述移动终端的Home键的触控操作,或者针对移动终端的指纹案件的触控操作等,此处不做唯一限定。
S202,所述移动终端在检测到所述检测任务被取消时,获取取消所述检测任务的触发条件;
S203,所述移动终端在检测到所述触发条件为所述超时取消时,执行重启操作。
可以看出,本申请实施例中,移动终端检测到用户针对移动终端的电源键的按压操作时,首先开启预设的检测任务,移动终端取消检测任务的触发条件包括显示屏唤醒取消和超时取消,其次,在检测到检测任务被取消时,获取取消检测任务的触发条件,最后,在检测到触发条件为超时取消时,执行重启操作。可见,移动终端针对熄屏状态下按压电源按键异常黑屏的场景,能够通过启用预设的检测任务来准确识别出该场景,从而及时进行重启以消除该异常情况,有利于提高移动终端处理异常黑屏情况的智能性和灵活性。
在一个可能的示例中,所述移动终端开启预设的检测任务,包括:所述移动终端确定所述预设的检测任务所关联的目标线程池;获取所述目标线程池的类型;根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务。
其中,由于检测任务要通过线程来执行,而移动终端包括多类线程池,不同类型的线程池的线程管理策略各不相同,故而根据线程池的类型进行差异化设置可以更加准确稳定的启动该检测任务。
可见,本示例中,移动终端能够基于检测任务所关联的目标线程池的类型,针对该检测任务进行专属的任务启动过程设置,有利于更加稳定、准确的执行检测机制,提高黑屏处理稳定性和效率。
在一个可能的示例中,所述线程池的类型为固定线程池FixedThreadPool;所述移动终端根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务,包括:所述移动终端创建针对所述检测任务的检测线程;获取所述目标线程池中处于活动状态的线程的启用队列;从所述启用队列中筛选出一个核心线程,暂停所述核心线程;将所述检测线程加入所述启用队列以启动所述检测任务;在所述启动队列中的任意一个线程取消后,恢复启用被暂停的所述核心线程。
可见,本示例中,针对FixedThreadPool,移动终端基于该线程池的特性,将检测任务加入核心线程的启用队列以启动所述检测任务,提高稳定性和实时性。
在一个可能的示例中,所述线程池的类型为单线程池SingleThreadPool;所述移动终端根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务,包括:所述移动终端获取所述SingleThreadPool中的核心线程的任务队列;将所述检测任务添加至所述任务队列中最先被执行的位置以启动所述检测任务。
可见,本示例中,针对SingleThreadPool,移动终端基于该线程池的特性,将检测任务直接添加至核心线程的任务队列以启动所述检测任务,提高稳定性和实时性。
在一个可能的示例中,所述线程池的类型为缓存线程池CachedThreadPool;所述移动终端根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务,包括:所述移动终端检测到所述CachedThreadPool中的线程均处于活动状态,为所述检测任务创建一个检测线程,并启用所述检测线程以启动所述检测任务;检测到所述CachedThreadPool中的线程有空闲线程,则选取一个空闲线程用于启动所述检测任务。
可见,本示例中,针对CachedThreadPool,移动终端基于该线程池的特性,为检测任务创建检测线程以启动所述检测任务,或者选取一个空闲线程用于启动所述检测任务,提高稳定性和灵活性。
在一个可能的示例中,所述线程池的类型为计划线程池ScheduledThreadPool;所述移动终端根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务,包括:所述移动终端检测到所述ScheduledThreadPool中的核心线程数均处于活动状态时,创建一个非核心线程用于启动所述检测任务;检测到所述ScheduledThreadPool中的核心线程数存在空闲核心线程时,通过所述空闲核心线程启动所述检测任务。
可见,本示例中,针对ScheduledThreadPool,移动终端基于该线程池的特性,为检测任务创建非核心线程以启动所述检测任务,提高稳定性和实时性。
在一个可能的示例中,所述执行重启操作之前,所述方法还包括:所述移动终端振动以提示用户所述移动终端正在重启;和/后,
所述移动终端点亮呼吸灯以提示用户所述移动终端正在重启;和/或,
所述移动终端通过扬声器播放预设音频以提示用户所述移动终端正在重启。
可见,本示例中,通过主动提示用户,能够避免用户因误解移动终端的状态而误操作移动终端,提高稳定性。
在一个可能的示例中,所述方法还包括:所述移动终端在检测到所述触发条件为所述显示屏唤醒取消时,通知线程管理器初始化所述检测线程的计时器。
可见,本示例中,针对正常屏幕唤醒取消检测任务的情况,移动终端及时初始化计数器,提高计时准确度。
与所述图2所示的实施例一致的,请参阅图3,图3是本申请实施例提供的一种黑屏处理方法的流程示意图,应用于移动终端。如图所示,本黑屏处理方法包括:
S301,移动终端检测到用户针对所述移动终端的屏幕唤醒操作时,确定所述预设的检测任务所关联的目标线程池,所述移动终端取消所述检测任务的触发条件包括显示屏唤醒取消和超时取消;
S302,所述移动终端获取所述目标线程池的类型;
S303,所述移动终端根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务。
S304,所述移动终端在检测到所述检测任务被取消时,获取取消所述检测任务的触发条件;
S305,所述移动终端在检测到所述触发条件为所述超时取消时,振动以提示用户所述移动终端正在重启。
S306,所述移动终端执行重启操作。
可以看出,本申请实施例中,移动终端检测到用户针对移动终端的电源键的按压操作时,首先开启预设的检测任务,移动终端取消检测任务的触发条件包括显示屏唤醒取消和超时取消,其次,在检测到检测任务被取消时,获取取消检测任务的触发条件,最后,在检测到触发条件为超时取消时,执行重启操作。可见,移动终端针对熄屏状态下按压电源按键异常黑屏的场景,能够通过启用预设的检测任务来准确识别出该场景,从而及时进行重启以消除该异常情况,有利于提高移动终端处理异常黑屏情况的智能性和灵活性。
此外,移动终端能够基于检测任务所关联的目标线程池的类型,针对该检测任务进行专属的任务启动过程设置,有利于更加稳定、准确的执行检测机制,提高黑屏处理稳定性和效率。
与所述图2所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种黑屏处理方法的流程示意图,应用于移动终端。如图所示,本黑屏处理方法包括:
S401,所述移动终端检测到用户针对所述移动终端的屏幕唤醒操作时,确定所述预设的检测任务所关联的目标线程池;
S402,所述移动终端获取所述目标线程池的类型,所述线程池的类型为固定线程池FixedThreadPool;
S403,所述移动终端创建针对所述检测任务的检测线程;
S404,所述移动终端获取所述目标线程池中处于活动状态的线程的启用队列;
S405,所述移动终端从所述启用队列中筛选出一个核心线程,暂停所述核心线程;
S406,所述移动终端将所述检测线程加入所述启用队列以启动所述检测任务;
S407,所述移动终端在所述启动队列中的任意一个线程取消后,恢复启用被暂停的所述核心线程。
S408,所述移动终端在检测到所述检测任务被取消时,获取取消所述检测任务的触发条件;
S409,所述移动终端在检测到所述触发条件为所述超时取消时,执行重启操作。
S410,所述移动终端点亮呼吸灯以提示用户所述移动终端正在重启。
S411,所述移动终端执行重启操作。
可以看出,本申请实施例,移动终端检测到用户针对移动终端的电源键的按压操作时,首先开启预设的检测任务,移动终端取消检测任务的触发条件包括显示屏唤醒取消和超时取消,其次,在检测到检测任务被取消时,获取取消检测任务的触发条件,最后,在检测到触发条件为超时取消时,执行重启操作。可见,移动终端针对熄屏状态下按压电源按键异常黑屏的场景,能够通过启用预设的检测任务来准确识别出该场景,从而及时进行重启以消除该异常情况,有利于提高移动终端处理异常黑屏情况的智能性和灵活性。
此外,移动终端能够基于检测任务所关联的目标线程池的类型,针对该检测任务进行专属的任务启动过程设置,有利于更加稳定、准确的执行检测机制,提高黑屏处理稳定性和效率。
此外,针对FixedThreadPool,移动终端基于该线程池的特性,将检测任务加入核心线程的启用队列以启动所述检测任务,提高稳定性和实时性。
此外,通过主动提示用户,能够避免用户因误解移动终端的状态而误操作移动终端,提高稳定性。
此外,针对正常屏幕唤醒取消检测任务的情况,移动终端及时初始化计数器,提高计时准确度。
与所述图2、图3、图4所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种移动终端的结构示意图,该移动终端运行有一个或多个应用程序和操作***,如图所示,该移动终端包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序不同于所述一个或多个应用程序,且所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行以下步骤的指令;
检测到用户针对所述移动终端的屏幕唤醒操作时,开启预设的检测任务,所述移动终端取消所述检测任务的触发条件包括显示屏唤醒取消和超时取消;
在检测到所述检测任务被取消时,获取取消所述检测任务的触发条件;
在检测到所述触发条件为所述超时取消时,执行重启操作。
可以看出,本申请实施例中,移动终端检测到用户针对移动终端的电源键的按压操作时,首先开启预设的检测任务,移动终端取消检测任务的触发条件包括显示屏唤醒取消和超时取消,其次,在检测到检测任务被取消时,获取取消检测任务的触发条件,最后,在检测到触发条件为超时取消时,执行重启操作。可见,移动终端针对熄屏状态下按压电源按键异常黑屏的场景,能够通过启用预设的检测任务来准确识别出该场景,从而及时进行重启以消除该异常情况,有利于提高移动终端处理异常黑屏情况的智能性和灵活性。
在一个可能的示例中,在所述开启预设的检测任务方面,所述程序中的指令具体用于执行以下操作:确定所述预设的检测任务所关联的目标线程池;以及获取所述目标线程池的类型;以及根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务。
在一个可能的示例中,所述线程池的类型为固定线程池FixedThreadPool;在所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务方面,所述程序中的指令具体用于执行以下操作:创建针对所述检测任务的检测线程;以及用于获取所述目标线程池中处于活动状态的线程的启用队列;以及用于从所述启用队列中筛选出一个核心线程,暂停所述核心线程;以及用于将所述检测线程加入所述启用队列以启动所述检测任务;以及用于在所述启动队列中的任意一个线程取消后,恢复启用被暂停的所述核心线程。
在一个可能的示例中,所述线程池的类型为单线程池SingleThreadPool;在所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务方面,所述程序中的指令具体用于执行以下操作:获取所述SingleThreadPool中的核心线程的任务队列;以及用于将所述检测任务添加至所述任务队列中最先被执行的位置以启动所述检测任务。
在一个可能的示例中,所述线程池的类型为缓存线程池CachedThreadPool;在所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务方面,所述程序中的指令具体用于执行以下操作:检测到所述CachedThreadPool中的线程均处于活动状态,为所述检测任务创建一个检测线程,并启用所述检测线程以启动所述检测任务;以及用于检测到所述CachedThreadPool中的线程有空闲线程,则选取一个空闲线程用于启动所述检测任务。
在一个可能的示例中,所述线程池的类型为计划线程池ScheduledThreadPool;在所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务方面,所述程序中的指令具体用于执行以下操作:检测到所述ScheduledThreadPool中的核心线程数均处于活动状态时,创建一个非核心线程用于启动所述检测任务;以及用于检测到所述ScheduledThreadPool中的核心线程数存在空闲核心线程时,通过所述空闲核心线程启动所述检测任务。
在一个可能的示例中,所述程序还包括用于执行以下操作的指令:在所述执行重启操作之前,振动以提示用户所述移动终端正在重启;和/后,
点亮呼吸灯以提示用户所述移动终端正在重启;和/或,
通过扬声器播放预设音频以提示用户所述移动终端正在重启。
在一个可能的示例中,所述程序还包括用于执行以下操作的指令:在检测到所述触发条件为所述显示屏唤醒取消时,通知线程管理器初始化所述检测线程的计时器。
上述实施例主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,移动终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据所述方法示例对移动终端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面为本发明装置实施例,本发明装置实施例用于执行本发明方法实施例所实现的方法。如图6所示,本申请实施例提供了一种黑屏处理装置,应用于移动终端,该黑屏处理装置可以包括开启单元601、获取单元602和执行单元603,其中,
所述开启单元601,用于检测到用户针对所述移动终端的屏幕唤醒操作时,开启预设的检测任务,所述移动终端取消所述检测任务的触发条件包括显示屏唤醒取消和超时取消;
所述获取单元602,用于在检测到所述检测任务被取消时,获取取消所述检测任务的触发条件;
所述执行单元603,用于在检测到所述触发条件为所述超时取消时,执行重启操作。
可以看出,本申请实施例中,移动终端检测到用户针对移动终端的电源键的按压操作时,首先开启预设的检测任务,移动终端取消检测任务的触发条件包括显示屏唤醒取消和超时取消,其次,在检测到检测任务被取消时,获取取消检测任务的触发条件,最后,在检测到触发条件为超时取消时,执行重启操作。可见,移动终端针对熄屏状态下按压电源按键异常黑屏的场景,能够通过启用预设的检测任务来准确识别出该场景,从而及时进行重启以消除该异常情况,有利于提高移动终端处理异常黑屏情况的智能性和灵活性。
在一个可能的示例中,在所述开启预设的检测任务方面,所述开启单元601具体用于:确定所述预设的检测任务所关联的目标线程池;以及获取所述目标线程池的类型;以及根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务。
在一个可能的示例中,所述线程池的类型为固定线程池FixedThreadPool;在所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务方面,所述开启单元601具体用于:创建针对所述检测任务的检测线程;以及用于获取所述目标线程池中处于活动状态的线程的启用队列;以及用于从所述启用队列中筛选出一个核心线程,暂停所述核心线程;以及用于将所述检测线程加入所述启用队列以启动所述检测任务;以及用于在所述启动队列中的任意一个线程取消后,恢复启用被暂停的所述核心线程。
在一个可能的示例中,所述线程池的类型为单线程池SingleThreadPool;在所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务方面,所述开启单元601具体用于:获取所述SingleThreadPool中的核心线程的任务队列;以及用于将所述检测任务添加至所述任务队列中最先被执行的位置以启动所述检测任务。
在一个可能的示例中,所述线程池的类型为缓存线程池CachedThreadPool;在所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务方面,所述开启单元601具体用于:检测到所述CachedThreadPool中的线程均处于活动状态,为所述检测任务创建一个检测线程,并启用所述检测线程以启动所述检测任务;以及用于检测到所述CachedThreadPool中的线程有空闲线程,则选取一个空闲线程用于启动所述检测任务。
在一个可能的示例中,所述线程池的类型为计划线程池ScheduledThreadPool;在所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务方面,所述开启单元601具体用于:检测到所述ScheduledThreadPool中的核心线程数均处于活动状态时,创建一个非核心线程用于启动所述检测任务;以及用于检测到所述ScheduledThreadPool中的核心线程数存在空闲核心线程时,通过所述空闲核心线程启动所述检测任务。
在一个可能的示例中,所述黑屏处理装置还包括第一提示单元,和/或第二提示单元,和/或第三提示单元,其中,
所述第一提示单元,用于所述执行单元603执行重启操作之前,振动以提示用户所述移动终端正在重启;
所述第二提示单元,用于点亮呼吸灯以提示用户所述移动终端正在重启;
所述第三提示单元,用于通过扬声器播放预设音频以提示用户所述移动终端正在重启。
在一个可能的示例中,所述黑屏处理装置还包括通知单元,其中,
所述通知单元,用于在检测到所述触发条件为所述显示屏唤醒取消时,通知线程管理器初始化所述检测线程的计时器。
其中,所述开启单元601和所述执行单元603可以是处理器,所述获取单元602可以是接收器。
请参阅图7,图7是本申请提供的一种移动终端的结构示意图,移动终端700包括:壳体710、电路板720、电池730、盖板740、传感器750、收发器760、显示屏770、以及控制传感器750、收发器760和显示屏770的控制器780;盖板740设置在壳体710上,传感器750、收发器760和控制器780设置在电路板720上,显示屏770与控制器780连接,其中,传感器750包括加速度传感器、陀螺仪、计时器等等。
其中,移动终端检测到用户针对移动终端的电源键的按压操作时,首先开启预设的检测任务,移动终端取消检测任务的触发条件包括显示屏唤醒取消和超时取消,其次,在检测到检测任务被取消时,获取取消检测任务的触发条件,最后,在检测到触发条件为超时取消时,执行重启操作。
其中,显示屏770包括触控屏和显示屏,显示屏包括有机发光二极管显示屏OLED。
其中,控制器780可以包括处理器和存储器,该处理器是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监测。可选的,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,所述调制解调处理器也可以不集成到处理器中。
其中,存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行移动终端的各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据移动终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括移动终端。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括移动终端。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种黑屏处理方法,其特征在于,应用于移动终端,所述方法包括:
检测到用户针对所述移动终端的屏幕唤醒操作时,确定预设的检测任务所关联的目标线程池,所述移动终端包括多类线程池,不同类型的线程池的线程管理策略各不相同,所述目标线程池为所述多类线程池中的线程池;获取所述目标线程池的类型;根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务;
在检测到所述检测任务被取消时,获取取消检测任务的触发条件,所述取消检测任务的触发条件包括显示屏唤醒取消和超时取消,所述显示屏唤醒取消的操作包括以下任意一种:取消针对所述移动终端的电源按键的按压操作、取消针对所述移动终端的Home键的触控操作、取消针对所述移动终端的指纹按键的触控操作;
在检测到所述触发条件为所述超时取消时,执行重启操作。
2.根据权利要求1所述的方法,其特征在于,所述线程池的类型为固定线程池;所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务,包括:
创建针对所述检测任务的检测线程;
获取所述目标线程池中处于活动状态的线程的启用队列;
从所述启用队列中筛选出一个核心线程,暂停所述核心线程;
将所述检测线程加入所述启用队列以启动所述检测任务;
在所述启用队列中的任意一个线程取消后,恢复启用被暂停的所述核心线程。
3.根据权利要求1所述的方法,其特征在于,所述线程池的类型为单线程池;所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务,包括:
获取所述单线程池中的核心线程的任务队列;
将所述检测任务添加至所述任务队列中最先被执行的位置以启动所述检测任务。
4.根据权利要求1所述的方法,其特征在于,所述线程池的类型为缓存线程池;所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务,包括:
检测到所述缓存线程池中的线程均处于活动状态,为所述检测任务创建一个检测线程,并启用所述检测线程以启动所述检测任务;
检测到所述缓存线程池中的线程有空闲线程,则选取一个空闲线程用于启动所述检测任务。
5.根据权利要求1所述的方法,其特征在于,所述线程池的类型为计划线程池;所述根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务,包括:
检测到所述计划线程池中的核心线程数均处于活动状态时,创建一个非核心线程用于启动所述检测任务;
检测到所述计划线程池中的核心线程数存在空闲核心线程时,通过所述空闲核心线程启动所述检测任务。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述执行重启操作之前,所述方法还包括:
振动以提示用户所述移动终端正在重启;和/后,
点亮呼吸灯以提示用户所述移动终端正在重启;和/或,
通过扬声器播放预设音频以提示用户所述移动终端正在重启。
7.根据权利要求2或4所述的方法,其特征在于,所述方法还包括:
在检测到所述触发条件为所述显示屏唤醒取消时,通知线程管理器初始化所述检测线程的计时器。
8.一种黑屏处理装置,其特征在于,应用于移动终端,所述黑屏处理装置包括开启单元、获取单元和执行单元,其中,
所述开启单元,用于检测到用户针对所述移动终端的屏幕唤醒操作时,开启预设的检测任务,所述移动终端取消检测任务的触发条件包括显示屏唤醒取消和超时取消,所述显示屏唤醒取消的操作包括以下任意一种:取消针对所述移动终端的电源按键的按压操作、取消针对所述移动终端的Home键的触控操作、取消针对所述移动终端的指纹按键的触控操作;
所述获取单元,用于在检测到所述检测任务被取消时,确定预设的检测任务所关联的目标线程池,所述移动终端包括多类线程池,不同类型的线程池的线程管理策略各不相同,所述目标线程池为所述多类线程池中的线程池;获取所述目标线程池的类型;根据所述类型调整所述目标线程池中处于活动状态的线程和所述检测任务以启动所述检测任务;
所述执行单元,用于在检测到所述触发条件为所述超时取消时,执行重启操作,所述取消检测任务的触发条件包括显示屏唤醒取消和超时取消。
9.一种移动终端,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810395149.2A CN108762981B (zh) | 2018-04-27 | 2018-04-27 | 黑屏处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810395149.2A CN108762981B (zh) | 2018-04-27 | 2018-04-27 | 黑屏处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108762981A CN108762981A (zh) | 2018-11-06 |
CN108762981B true CN108762981B (zh) | 2022-03-15 |
Family
ID=64012442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810395149.2A Active CN108762981B (zh) | 2018-04-27 | 2018-04-27 | 黑屏处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108762981B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413450A (zh) * | 2019-07-22 | 2019-11-05 | 河南翔宇医疗设备股份有限公司 | 一种处理应用程序崩溃的方法、装置及设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331357B (zh) * | 2014-10-10 | 2018-07-10 | 北京金山安全软件有限公司 | 应用程序异常的检测方法、装置和移动终端 |
CN106557250A (zh) * | 2015-09-30 | 2017-04-05 | 北京奇虎科技有限公司 | 一种在移动设备中的黑屏处理方法和装置 |
CN107305416A (zh) * | 2016-04-21 | 2017-10-31 | 西安中兴新软件有限责任公司 | 一种控制方法及终端 |
CN106201285A (zh) * | 2016-06-22 | 2016-12-07 | 北京小米移动软件有限公司 | 防止电源键被误触的方法及装置、电子设备 |
CN106325989A (zh) * | 2016-08-17 | 2017-01-11 | 东软集团股份有限公司 | 任务执行方法及装置 |
CN107707731B (zh) * | 2017-08-15 | 2021-02-19 | 深圳天珑无线科技有限公司 | 一种智能终端及其控制方法和具有存储功能的装置 |
CN107885635B (zh) * | 2017-10-31 | 2021-05-21 | 努比亚技术有限公司 | 黑屏检测方法、移动终端及计算机可读存储介质 |
-
2018
- 2018-04-27 CN CN201810395149.2A patent/CN108762981B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108762981A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861816B (zh) | 资源配置方法及装置 | |
CN109213539B (zh) | 一种内存回收方法及装置 | |
CN108241422B (zh) | 电子设备和基于电子设备中的电池温度的热控制方法 | |
EP3454239B1 (en) | Unlocking control methods and related products | |
RU2686673C1 (ru) | Устройство и способ управления терминалом и терминал | |
CN107402790B (zh) | 应用程序的启动方法、装置、存储介质和终端 | |
CN108920195B (zh) | 开机处理方法及相关产品 | |
CN109753297A (zh) | 终端待机时软件升级方法、装置及可读存储介质 | |
CN103488939A (zh) | 一种提示用户的方法、装置及终端 | |
CN106713608B (zh) | 应用的功能状态修改方法、装置及终端 | |
CN112740638B (zh) | 分组数据单元(pdu)会话控制方法和设备 | |
US20210037471A1 (en) | Downlink control signaling detection method and apparatus, and storage medium | |
CN104093123A (zh) | 应用程序的信息推送方法、装置和***、移动终端 | |
CN104253870A (zh) | 控制数据访问周期的方法和装置 | |
CN108737655B (zh) | 图片处理方法及相关装置 | |
CN108762981B (zh) | 黑屏处理方法及相关装置 | |
CN106708501B (zh) | 活动监控方法及装置 | |
CN116708958B (zh) | 马达控制方法及电子设备 | |
CN108833670B (zh) | 背光调整方法及相关装置 | |
KR101572050B1 (ko) | 휴대용 단말기에서 외장 메모리 카드를 인식하기 위한 장치 및 방법 | |
CN108307060B (zh) | 电子设备、跌落保护方法及相关产品 | |
CN108959955B (zh) | 文件处理方法及装置 | |
US10469654B2 (en) | Electronic device, prompting method and related product | |
CN106445594A (zh) | ***应用的安装方法、装置和终端设备 | |
CN111338636B (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 |