CN112558745A - 终端应用程序冷冻控制的方法、装置、终端及存储介质 - Google Patents

终端应用程序冷冻控制的方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN112558745A
CN112558745A CN201910915919.6A CN201910915919A CN112558745A CN 112558745 A CN112558745 A CN 112558745A CN 201910915919 A CN201910915919 A CN 201910915919A CN 112558745 A CN112558745 A CN 112558745A
Authority
CN
China
Prior art keywords
application program
application
freezing
module
terminal
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
CN201910915919.6A
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201910915919.6A priority Critical patent/CN112558745A/zh
Publication of CN112558745A publication Critical patent/CN112558745A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了一种终端应用程序冷冻控制的方法,包括:在所述应用程序发生预设行为时进行冷冻检测;确定所述应用程序满足冷冻条件;对所述应用程序进行冷冻处理。本发明还公开了一种终端应用程序冷冻控制的装置、终端及存储介质。本发明能够避免应用发生高耗电行为时快速冷冻应用。

Description

终端应用程序冷冻控制的方法、装置、终端及存储介质
技术领域
本发明实施例涉及但不限于通信领域,具体而言,涉及但不限于一种终端应用程序冷冻控制的方法、装置、终端及存储介质。
背景技术
现有的应用冷冻技术存在两种方式,一种是灭屏冻结:系统通过灭屏触发冷冻流程,检查当前有没有可被冷冻的应用;另一种是定时循环检查:系统通过定时触发冷冻流程,检查当前有没有可被冷冻的应用。
现有冻结技术,效率较低,不能够及时的发现耗电应用并及时冻结耗电应用。当应用有高耗电行为发生时,而冻结检测时间还未到,或者此时没有灭屏,则当前的高耗电行为不受控。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明公开的主要目的在于提供一种终端应用程序冷冻控制的方法、装置、终端及存储介质,能够避免应用发生高耗电行为时快速冷冻应用。
为实现上述目的,本发明的一个实施例中提供一种终端应用程序冷冻控制的方法,包括:在所述应用程序发生预设行为时进行冷冻检测;确定所述应用程序满足冷冻条件;对所述应用程序进行冷冻处理。
符合本发明的另一实施例中还提供一种终端应用程序冷冻控制的装置,其包括冷冻模块,所述冷冻模块在所述应用程序发生预设行为时进行冷冻检测;确定所述应用程序满足冷冻条件;对所述应用程序进行冷冻处理。
符合本发明的另一实施例中还提供一种终端,包括处理器、存储器和通信总线;所述通信总线用于将所述处理器和存储器连接;所述处理器用于执行所述存储器中存储的计算机程序,以实现终端应用程序冷冻控制的方法步骤。
符合本发明的另一实施例中还提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以实现终端应用程序冷冻控制的方法步骤。
本发明通过在应用程序(简称应用或者APP)发生如下行为时即进行冻结检测:应用设定可唤醒系统的定时器时;应用申请阻止系统休眠的唤醒锁(wakelock);应用启动前台服务时;应用使用任务(job)时;应用开启导航(GPS)。
当应用发生如上行为时,即刻检测当前应用是否属于被保护应用场景(例如播放音乐、下载和导航等)。如果是,就将应用记录下来,在被记录应用发生如下行为时即时进行冻结检测:设置的可唤醒系统的定时器到时;应用申请的阻止系统休眠的wakelock被释放;应用启动的前台服务停止运行;应用job结束;应用关闭GPS。如果不是被保护应用场景(例如播放音乐、下载和导航等),就立即对应用进行冻结。
通过本发明可以避免应用发生高耗电行为时却不被冻结流程管控,快速冻结应用。
附图说明
为了清楚地说明本发明实施例或现有技术中的技术方案,下面对于实施例或者现有技术描述中所需要使用的附图作简单的介绍,显而易见,西面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的第一实施例的结构示意图;
图2为本发明实施例提供的第二实施例的流程示意图;
图3为本发明实施例提供的第三实施例的流程示意图;
图4为本发明实施例提供的第四实施例的流程示意图;
图5为本发明实施例提供的一种终端的硬件结构示意图;
图6为本发明实施例提供的一种终端的另一硬件结构示意图。
具体实施方式
下面将结合本发明实施例附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本发明一部分的实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域技术人员可以理解的,本发明的下述实施例中,终端可以是手机、平板电脑、笔记本电脑、掌上电脑、智能电视机、移动互联网设备、可穿戴设备、或其他可以安装应用客户端的终端,也可以是其他任何可实现本发明应用处理方法的终端或装置,本发明并不对此进行限定。
本发明实施在安卓系统上,当应用设定可唤醒系统的定时器时;应用申请阻止系统休眠的wakelock时;应用启动前台服务时;应用使用job时;应用开启GPS时;应用释放可唤醒系统的定时器时;应用释放阻止系统休眠的wakelock时;应用停止前台服务时;应用job完成时;应用关闭GPS时就会使用到。
请参阅图1,本发明的第一实施例提供一种终端应用程序冷冻控制的装置,所述装置包括冷冻模块,所述冷冻模块在所述应用程序发生预设行为时进行冷冻检测;确定所述应用程序满足冷冻条件;对所述应用程序进行冷冻处理。所述装置还包括:所述冻结模块确定所述应用程序未满足冷冻条件时,记录所述应用程序,且在当前时刻对所述用程序不进行冷冻处理。所述装置还包括:定时器模块、电源管理模块、任务服务模块或者定位模块,所述冻结模块提供所述定时器模块、电源管理模块、任务服务模块或者定位模块进行调用的接口。
本发明由冻结模块、定时器模块、电源管理模块、job服务模块和GPS模块组成。冻结模块根据冻结策略实施app冻结或者app解冻。冻结模块、定时器模块、电源管理模块、job服务模块和GPS模块在应用调用发生时,通知冻结模块,并根据冻结模块返回的结果禁止或执行应用的调用。
请参阅图2,本发明的第二实施例提供一种终端应用程序冷冻控制的方法,所述方法包括:
步骤S201:在所述应用程序发生预设行为时进行冷冻检测;
步骤S202:确定所述应用程序满足冷冻条件;
步骤S203:对所述应用程序进行冷冻处理。
其中,在具体的实施例中,所述预设行为包括以下至少之一:所述应用程序设定可唤醒系统的定时器;所述应用程序申请阻止系统休眠的唤醒锁;所述应用程序启动前台服务;所述应用程序使用任务;所述应用程序开启定位服务。
所述冷冻条件包括以下至少之一:所述应用程序未在终端前台运行;
所述应用程序未发生后台跨进程的访问;所述应用程序未开启定位服务;
所述应用程序未通过wifi或者数据业务下载数据业务;所述应用程序未调用音频模块;所述应用程序未使用计步器;所述应用程序进入导航模式。
请参阅图3,在符合本发明的第三实施例中,所述方法还包括:
步骤S204:确定所述应用程序未满足冷冻条件时,记录所述应用程序,且在当前时刻对所述用程序不进行冷冻处理。
所冷冻处理是基于终端进行限制应用程序占用系统资源的过程,包括禁止应用程序占用CPU资源、传感器、定位、或内存等系统资源。
请参阅图4,符合本发明的第四实施例提供了一种方法,具体流程为:
步骤S401:应用设定可唤醒系统的定时器时;应用申请阻止系统休眠的wakelock时;应用启动前台服务时;应用使用job时;应用开启GPS时,相关模块首先调用冻结模块的提供的接口;每个应用会顺序调用相关模块,这样每个模块在冻结模块这里的调用也就变为顺序的调用,冻结模块按顺序检查应用的操作;
步骤S402:冻结模块判断当前应用是否可被冻结,例如,检查应用当前是否处于前台有用户操作的状态、是否后台跨进程访问状态、是否访问GPS、是否处于下载状态、是否调用音频装置处于听音乐状态、是否调用计步器,是否处于导航模式等状态;
步骤S403:如果当前应用满足冻结条件,例如,应用当前不在前台、没有后台跨进程访问、没有访问GPS、没有通过wifi或者数据业务下载、没有调用音频装置听音乐、没有使用计步器、没有导航等时,当应用满足以上任一条件,或者其中几个条件组合时就可以被冻结,则直接冻结应用,应用不能执行相关操作;
步骤S404:如果当前应用不满足冻结条件,例如,应用当前在前台有用户操作、或者正在后台跨进程访问、或者正在使用GPS、或者通过wifi或者数据业务下载、或者调用音频装置听音乐、或者使用计步器时,就不可以被冻结,则冻结模块记录当前应用,冻结模块将使用此记录在应用释放可唤醒系统的定时器时、应用释放阻止系统休眠的wakelock时、应用停止前台服务时、应用job完成时、应用关闭GPS时直接冻结应用。
本实施例还提供了一种终端,本实施例中的终端可以包括各种移动终端,也可为非移动类终端。参见图5所示,其包括处理器501、存储器502和通信总线503;
通信总线503用于将处理器501和存储器502连接;
处理器501用于执行存储器502中存储的计算机程序,以实现如上各实施例所示的电耗控制方法的步骤。此处的存储器502可为终端自身的存储器;其可不包括能与终端分离的终端部件上设置的存储器;当然根据需求也可设置为包括能与终端分离的终端部件上设置的存储器。
请参图6,本发明实施例所涉及的终端的一个具体实施例中,终端600包括射频电路601、一个或一个以上存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、网络连接模块607(例如Wi-fi模块)、一个或一个以上的处理器608、以及电源609等部件。本领域技术人员可以理解,以上结构并不构成对终端的限定,可以包括比所列部件更多或更少的部件。其中射频电路601可用于通信信号的接收与发送,接收基站的信息,再交由处理器608处理。存储器602用于存储软件程序以及模块,处理器608通过运行存储器602的软件程序或模块,从而执行各种功能以及数据处理。输入单元603可用于接收输入的数字或字符信息。输入单元603可以包括多种输入设备,例如触摸屏输入、以及其它输入设备等。输入单元603同样将各类输入信息转化为计算机指令发送给处理器608,并也能接收处理器608的命令进行执行。显示单元604用于显示由用户输入的信息或者终端提供给用户的信息以及终端上各种图形用户接口。终端600还包括至少一种传感器,例如:光传感器、运动传感器等。终端600还可以包括音频电路606、网络连接模块607、和电源609等部件。
本实施例还提供了一种存储介质,该存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-OnlyMemory,只读存储器),EEPROM(Electrically ErasableProgrammableread only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
在一种示例中,本实施例中的存储介质可用于存储一个或者多个计算机程序,该一个或者多个计算机程序可被一个或者多个处理器执行,以实现如上各实施例所示的终端电耗控制方法的步骤。本实施例中的存储介质可以直接设置在终端内。
本实施例还提供了一种计算机程序(或称计算机软件),该计算机程序可以分布在计算机可读介质上,由可计算装置来执行,以实现如上各实施例所示的终端电耗控制方法的至少一个步骤;并且在某些情况下,可以采用不同于上述实施例所描述的顺序执行所示出或描述的至少一个步骤。
本实施例还提供了一种计算机程序产品,包括计算机可读装置,该计算机可读装置上存储有如上所示的计算机程序。本实施例中该计算机可读装置可包括如上所示的存储介质。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种终端应用程序冷冻控制的方法,其特征在于,所述方法包括:
在所述应用程序发生预设行为时进行冷冻检测;
确定所述应用程序满足冷冻条件;
对所述应用程序进行冷冻处理。
2.根据权利要求1所述的方法,其特征在于,所述预设行为包括以下至少之一:
所述应用程序设定可唤醒系统的定时器;
所述应用程序申请阻止系统休眠的唤醒锁;
所述应用程序启动前台服务;
所述应用程序使用任务;
所述应用程序开启定位服务。
3.根据权要求1所述的方法,其特征在于,所述冷冻条件包括以下至少之一:
所述应用程序未在终端前台运行;
所述应用程序未发生后台跨进程的访问;
所述应用程序未开启定位服务;
所述应用程序未通过wifi或者数据业务下载数据业务;
所述应用程序未调用音频模块;
所述应用程序未使用计步器;
所述应用程序进入导航模式。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述应用程序未满足冷冻条件时,记录所述应用程序,且在当前时刻对所述用程序不进行冷冻处理。
5.根据权利要求1-4任意一项所述的方法,其特征在于,
所冷冻处理是基于终端进行限制应用程序占用系统资源的过程,包括禁止应用程序占用CPU资源、传感器、定位、或内存等系统资源。
6.一种终端应用程序冷冻控制的装置,其特征在于:所述装置包括冷冻模块,
所述冷冻模块在所述应用程序发生预设行为时进行冷冻检测;确定所述应用程序满足冷冻条件;对所述应用程序进行冷冻处理。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
所述冻结模块确定所述应用程序未满足冷冻条件时,记录所述应用程序,且在当前时刻对所述用程序不进行冷冻处理。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
定时器模块、电源管理模块、任务服务模块或者定位模块,所述冻结模块提供所述定时器模块、电源管理模块、任务服务模块或者定位模块进行调用的接口。
9.一种终端,其特征在于,包括处理器、存储器和通信总线;
所述通信总线用于将所述处理器和存储器连接;
所述处理器用于执行所述存储器中存储的计算机程序,以实现如权利要求1至5任一项所述终端应用程序冷冻控制的方法步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的终端应用程序冷冻控制的方法步骤。
CN201910915919.6A 2019-09-24 2019-09-24 终端应用程序冷冻控制的方法、装置、终端及存储介质 Pending CN112558745A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910915919.6A CN112558745A (zh) 2019-09-24 2019-09-24 终端应用程序冷冻控制的方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910915919.6A CN112558745A (zh) 2019-09-24 2019-09-24 终端应用程序冷冻控制的方法、装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN112558745A true CN112558745A (zh) 2021-03-26

Family

ID=75029956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910915919.6A Pending CN112558745A (zh) 2019-09-24 2019-09-24 终端应用程序冷冻控制的方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN112558745A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110252423A1 (en) * 2010-04-07 2011-10-13 Apple Inc. Opportunistic Multitasking
CN104156053A (zh) * 2014-07-29 2014-11-19 深圳市中兴移动通信有限公司 一种异常耗电的控制方法、装置和移动终端
CN106648849A (zh) * 2016-10-18 2017-05-10 上海传英信息技术有限公司 进程的冷冻方法和移动终端
CN107329559A (zh) * 2017-06-30 2017-11-07 宇龙计算机通信科技(深圳)有限公司 一种应用程序控制方法、装置、终端和存储介质
WO2018000508A1 (zh) * 2016-06-29 2018-01-04 宇龙计算机通信科技(深圳)有限公司 应用程序冻结方法及移动终端
CN108616662A (zh) * 2018-05-11 2018-10-02 Oppo(重庆)智能科技有限公司 应用程序控制方法、电子装置及计算机可读存储介质
CN109219115A (zh) * 2018-08-20 2019-01-15 奇酷互联网络科技(深圳)有限公司 移动终端及冻结终端应用程序的方法、装置和存储装置
WO2019071619A1 (zh) * 2017-10-13 2019-04-18 华为技术有限公司 应用管理方法及终端
CN109765806A (zh) * 2017-11-09 2019-05-17 佛山市顺德区美的电热电器制造有限公司 一种控制方法、服务器及存储介质、系统
CN109992379A (zh) * 2017-12-29 2019-07-09 广东欧珀移动通信有限公司 应用冻结方法、装置、存储介质和终端
CN109992378A (zh) * 2017-12-29 2019-07-09 广东欧珀移动通信有限公司 应用冻结方法、装置、终端及计算机可读存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110252423A1 (en) * 2010-04-07 2011-10-13 Apple Inc. Opportunistic Multitasking
CN104156053A (zh) * 2014-07-29 2014-11-19 深圳市中兴移动通信有限公司 一种异常耗电的控制方法、装置和移动终端
WO2018000508A1 (zh) * 2016-06-29 2018-01-04 宇龙计算机通信科技(深圳)有限公司 应用程序冻结方法及移动终端
CN106648849A (zh) * 2016-10-18 2017-05-10 上海传英信息技术有限公司 进程的冷冻方法和移动终端
CN107329559A (zh) * 2017-06-30 2017-11-07 宇龙计算机通信科技(深圳)有限公司 一种应用程序控制方法、装置、终端和存储介质
WO2019071619A1 (zh) * 2017-10-13 2019-04-18 华为技术有限公司 应用管理方法及终端
CN109765806A (zh) * 2017-11-09 2019-05-17 佛山市顺德区美的电热电器制造有限公司 一种控制方法、服务器及存储介质、系统
CN109992379A (zh) * 2017-12-29 2019-07-09 广东欧珀移动通信有限公司 应用冻结方法、装置、存储介质和终端
CN109992378A (zh) * 2017-12-29 2019-07-09 广东欧珀移动通信有限公司 应用冻结方法、装置、终端及计算机可读存储介质
CN108616662A (zh) * 2018-05-11 2018-10-02 Oppo(重庆)智能科技有限公司 应用程序控制方法、电子装置及计算机可读存储介质
CN109219115A (zh) * 2018-08-20 2019-01-15 奇酷互联网络科技(深圳)有限公司 移动终端及冻结终端应用程序的方法、装置和存储装置

Similar Documents

Publication Publication Date Title
CN108920195B (zh) 开机处理方法及相关产品
CN108702421B (zh) 用于控制应用和组件的电子设备和方法
US10474507B2 (en) Terminal application process management method and apparatus
KR20150066083A (ko) 전자 장치의 멀티 태스킹 방법 및 그 전자 장치
WO2019024649A1 (zh) 应用程序的启动方法、装置、存储介质和终端
CN105677477A (zh) 一种优化应用程序资源的方法、装置及电子设备
CN107844341B (zh) 进程启动的管控方法、装置及存储介质和移动终端
KR102465927B1 (ko) 복수의 운영 체제 환경에서의 하이버네이션 운용 방법 및 장치
KR20180085214A (ko) 사물 인터넷 통신 방법 및 그 전자 장치
CN107423064B (zh) 消息处理方法、装置、终端设备及存储介质
KR20170033121A (ko) 서비스 처리 방법 및 이를 구현하는 전자 장치
CN114153570A (zh) 一种应用切换方法及装置
WO2020052471A1 (zh) 待管理应用检测及控制方法、装置、终端及存储介质
KR20180020401A (ko) 통신망 연결 제어 방법, 저장 매체 및 이를 위한 전자 장치
CN111427417B (zh) 一种时间获取方法、装置及电子设备
CN109992380B (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN107885588B (zh) 应用服务的控制方法、装置及存储介质和移动终端
US11816200B2 (en) Terminal and method for managing launch of an application of a terminal
CN110837343A (zh) 处理快照的方法、装置及终端
CN107526512B (zh) 用于电子设备的切换方法和系统
CN112558745A (zh) 终端应用程序冷冻控制的方法、装置、终端及存储介质
CN107943268B (zh) 调度作业控制方法、装置、终端设备及存储介质
CN112989323B (zh) 进程检测方法、装置、终端及存储介质
CN113282361B (zh) 一种窗口的处理方法及电子设备
KR20170004735A (ko) 전자 장치 및 그의 수신 방법

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