CN117076089A - 应用管理方法、终端设备及存储介质 - Google Patents
应用管理方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN117076089A CN117076089A CN202311284168.5A CN202311284168A CN117076089A CN 117076089 A CN117076089 A CN 117076089A CN 202311284168 A CN202311284168 A CN 202311284168A CN 117076089 A CN117076089 A CN 117076089A
- Authority
- CN
- China
- Prior art keywords
- application
- application program
- signature verification
- signature
- alive
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 55
- 238000012795 verification Methods 0.000 claims abstract description 124
- 238000000034 method Methods 0.000 claims abstract description 62
- 230000008569 process Effects 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 40
- 238000004140 cleaning Methods 0.000 abstract description 49
- 238000004891 communication Methods 0.000 description 21
- 230000006854 communication Effects 0.000 description 21
- 239000010410 layer Substances 0.000 description 20
- 230000006870 function Effects 0.000 description 16
- 238000009434 installation Methods 0.000 description 16
- 230000005236 sound signal Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种应用管理方法、终端设备及存储介质,涉及终端设备领域。所述方法包括:响应于第一操作,打开任一应用程序;响应于第二操作,将应用程序从前台切换至后台运行;若应用程序的应用包名在保活白名单中,对应用程序进行签名校验;若签名校验成功,对应用程序的应用进程进行保活。本申请实施例在一后台应用的应用包名在保活白名单中的情况下,先对该后台应用进行签名验证,并在该后台应用签名验证成功后对该后台应用进行保活,不直接对应用包名在保活白名单中的后台应用进行保活,可以避免应用程序通过使用保活白名单中的包名,冒充保活白名单应用,绕开应用清理的情况出现,从而提高了应用清理的准确率。
Description
技术领域
本申请涉及终端设备领域,尤其涉及一种应用管理方法、终端设备及存储介质。
背景技术
终端设备逐渐成为人们日常生活和工作中的重要工具,终端设备上的安装的应用(application,app)也越来越丰富多样。用户会基于不同的需求,使用不同的应用,并且时常在多个应用之间切换。除了当前在前台运行的应用外,之前启动的应用一般会在后台运行。退到后台的应用仍会继续使用***资源,例如占用内存、使用处理器、进行网络访问等。用户对在后台运行的应用再次进行前台操作时,可以直接将该应用从后台切换到前台,而该应用无需进行冷启动,相较于热启动,提高了应用的启动速度;而且可以直接显示上次用户使用的界面,方便用户的使用。
由于终端设备的***资源的限制,终端设备不会允许所有应用无限制存活,会对后台运行的应用进行选择性保活,并会对不必要继续存活的应用进行查杀,即结束相关进程,避免其继续使用内存、处理器等***资源。但是,一些不必要继续存活的后台应用为了提升自身的影响力,如增加用户的在线使用时长,会通过不正当的手段绕过终端设备的查杀,寻求继续存活。
发明内容
本申请实施例公开了一种应用管理方法、终端设备及存储介质,可以避免一些不必要继续存活的后台应用绕过应用查杀继续存活的情况出现。
本申请第一方面公开了一种应用管理方法,应用于终端设备,所述方法包括:响应于第一操作,开启应用程序;响应于第二操作,将所述应用程序从前台切换至后台运行;若所述应用程序的应用包名在预设的保活白名单中,对所述应用程序进行签名校验;若所述应用程序的签名校验成功,对所述应用程序的应用进程进行保活。上述方法,可以在基于预先配置的保活白名单确定是否对当前的一后台应用进行保活,实现了对用户需要后台运行的应用程序进行保活的目的;同时,在一后台应用的应用包名在保活白名单中的情况下,不直接对该后台应用进行保活,而是进一步对该后台应用进行签名验证,并在该后台应用签名验证成功后对该后台应用进行保活,不直接对应用包名在保活白名单中的后台应用进行保活,可以避免一些应用程序通过使用保活白名单中的应用包名,冒充保活白名单应用,从而绕开应用清理的情况出现,从而提高了应用清理的准确率。
在一些可选的实施方式中,所述对所述应用程序进行签名校验包括:基于所述应用程序的应用签名和预设的配置缓存中的所述应用包名对应的目标签名,对所述应用程序进行签名校验;若所述应用签名和所述目标签名相同,确定所述应用程序的签名校验成功;若所述应用签名和所述目标签名不相同,确定所述应用程序的签名校验失败。
在一些可选的实施方式中,所述方法还包括:若所述应用程序的应用类型为目标类型,对所述应用程序进行保活。上述方法,可以对目标类型的应用程序进行保活。
在一些可选的实施方式中,所述若所述应用程序的应用类型为目标类型,对所述应用程序进行保活之前,所述方法还包括:若所述应用程序的应用包名不在保活白名单,确定所述应用程序的应用类型。
在一些可选的实施方式中,所述确定所述应用程序的应用类型包括:若所述应用程序的应用包名在预设的配置缓存中存在对应的配置信息,对所述应用程序进行签名校验;若所述应用程序的签名校验成功,将所述配置缓存中所述配置信息中的应用类型确定为所述应用程序的应用类型。上述方法,基于配置缓存可以提高确定应用类型的效率;同时,在基于配置缓存确定应用类型之前,先对应用程序进行签名校验,可以避免当前应用程序通过应用包名假冒其他应用程序的情况发生,从而提高确定应用类型的准确率。
在一些可选的实施方式中,所述方法还包括:若所述应用程序的应用包名与所述配置缓存中的任一应用包名匹配,确定所述应用程序的应用包名在所述配置缓存中存在对应的配置信息。上述方法,可以准确地确定配置缓存中是否存在该应用程序的应用包名对应的配置信息。
在一些可选的实施方式中,所述方法还包括:基于云端服务器推送的信息,对所述配置缓存进行更新。上述方法,可以对配置缓存进行更新,从而提高应用管理的效率。
本申请第二方面公开了一种应用管理方法,应用于终端设备,所述方法包括:响应于第一操作,开启应用程序;响应于第二操作,将所述应用程序从前台切换至后台运行;若所述应用程序的应用包名在预设的配置缓存中存在对应的配置信息,对所述应用程序进行签名校验;若所述应用程序的签名校验成功,将所述配置信息中的应用类型确定为所述应用程序的应用类型;若所述应用程序的应用类型为目标类型,对所述应用程序进行保活。上述方法,基于当前的一后台应用的应用包名和配置文件确定该后台应用的应用类型,提高了确定应用类型的效率,并在该后台应用的应用类型为目标类型时,对该后台应用进行保活,避免查杀掉用户需要的应用;同时,在基于配置文件确定该后台应用的应用类型之前,先对该后台应用进行签名验证,并在该后台应用签名验证成功后才将根据配置文件确定应用类型,可以避免一些应用程序通过将其应用包名修改为目标类型应用的应用包名,冒充为目标类型的应用,绕开应用清理的情况出现,从而提高了应用清理的准确率。
本申请第三方面公开了一种终端设备,所述终端设备包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述终端设备执行如第一方面所述的应用管理方法。
本申请第四方面公开了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在终端设备上运行时,使得所述终端设备执行如第一方面或第二方面所述的应用管理方法。
应当理解地,上述提供的第三方面所述的终端设备、第四方面所述的计算机可读存储介质,均与上述第一方面或第二方面的方法对应,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种终端设备的框架示意图。
图2为本申请实施例中提供的一种应用管理方法的流程示意图。
图3为本申请实施例提供的一种应用程序设置界面的示意图。
图4为本申请实施例提供的一种生成应用签名缓存和配置缓存的流程示意图。
图5为本申请实施例提供的一种签名校验的流程示意图。
图6为本申请实施例提供的一种更新应用签名缓存的流程示意图。
图7为本申请实施例提供的一种更新配置缓存的流程示意图。
图8为本申请实施例提供的一种应用管理方法的流程示意图。
图9为本申请实施例中提供的一种应用管理方法的流程示意图。
图10是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,“示例性”、“或者”、“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性”、“或者”、“例如”等词旨在以具体方式呈现相关概念。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请中的技术领域的技术人员通常理解的含义相同。本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。应理解,本申请中除非另有说明,“/”表示或的意思。例如,A/B可以表示A或B。本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B三种情况。“至少一个”是指一个或者多个。“多个”是指两个或多于两个。例如,a、b或c中的至少一个,可以表示:a,b,c,a和b,a和c,b和c,a、b和c七种情况。应当理解的是,本文的流程图中所示步骤的顺序可以改变,某些也可以省略。
用户在使用终端设备时,会基于不同的需求,使用不同的应用,并且时常在多个应用之间切换。除了当前在前台运行的应用外,之前启动的应用一般会推到后台运行。退到后台的应用仍会继续使用***资源,所以基于终端设备的***资源的限制,终端设备的操作***通常会在用户体验受到影响或者即将受到影响时进行应用清理,常见的场景有内存不足、手机温度高、耗电量高、用户手动清理等等。在应用清理过程中,操作***会结束一些应用的相关进程,使得避免其继续使用内存、处理器等***资源。应用的进程结束时会释放其占用的***资源,如释放该应用占用的物理内存。一些退到后台的应用继续运行对于用户来说是必要的,例如音乐应用后台播放音乐、视频应用后台执行下载任务等。因此,操作***在进行应用清理的过程中,会按照重要程度对后台应用进行选择性保活。保活是指让应用程序在终端设备上后台运行,不***作***杀死或关闭的一种手段。保活可以让应用程序在后台运行时也能够及时响应用户的操作或接收消息,提高用户体验和满意度。但是,一些不必要继续存活的后台应用为了提升自身的影响力,会针对操作***的选择性保活方式,使用一些不正当手段,使得操作***对其进行保活,从而绕过了应用查杀,能继续运行在后台。
为了解决一些不必要继续存活的后台应用使用不正当手段绕过应用查杀继续运行在后台的技术问题,本申请实施例提供了一种应用管理方法,在终端设备触发应用清理时,可以基于预先配置的保活白名单确定是否对当前的一后台应用进行保活,实现了对用户需要后台运行的应用程序进行保活的目的,保活白名单中记录了需要进行保活的应用程序的应用包名;同时,在一后台应用的应用包名在保活白名单中的情况下,不直接对该后台应用进行保活,而是进一步对该后台应用进行签名验证,并在该后台应用签名验证成功后对该后台应用进行保活,通过不直接对应用包名在保活白名单中的后台应用进行保活,可以避免一些应用程序通过使用保活白名单中的应用包名,冒充保活白名单中需要保活的应用程序,绕开应用清理的情况出现,从而提高了应用清理的准确率。通过上述方法,可以对恶意应用假冒保活白名单中应用程序的行为进行识别,从而避免对恶意应用进行保活的情况出现。
本申请实施例提供的应用管理方法,应用于终端设备。示例性的,本申请实施例中的终端设备可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、人工智能(artificialintelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备等终端设备。本申请实施例对该终端设备的具体形态不作特殊限制。终端设备上安装有操作***,操作***可以是Windows Mobile®***、iOS®、Linux®、安卓®(Android®)***和MagicOS®***中的一种***或者未示出的其他***,下面以Android®为例进行说明。
首先,对本申请中所涉及的部分用语和相关技术进行解释说明,以便于本领域技术人员理解。
1、应用安装。
基于对一应用程序的下载指令,终端设备可以下载应该用程序的安装包(APK文件),例如可以通过手机浏览器、应用市场、电脑传输等方式获取并下载该应用程序的APK文件。APK文件下载完成后,打开APK文件时,zygote进程会创建一个新的应用程序进程,并调用安装程序(PackageInstaller应用)来执行安装程序。PackageInstaller应用通过调用包管理服务(PackageManagerService,PMS)来管理应用程序的安装。在本申请的实施例中,PMS可以通过调用PackageParser类来解析和验证APK文件,从APK文件中获取应用程序的应用信息和签名。应用信息包括应用包名(Packagename),还可以包括版本号、权限、组件中的一项或多项。PMS将获取到的应用信息和签名,作为Settings对象,保存到Settings类中。一个应用程序对应一个Settings对象。Settings类是PMS的一个内部类,它负责管理所有应用程序的设置和状态。在本申请的一实施方式中,PMS会调用Settings类的writeLPr方法,将Settings对象中的数据写入/data/system/packages.xml文件中。这个xml文件用于存储终端设备中所有应用程序信息和状态,由PMS管理。PMS会在***启动时加载这个xml文件,以便快速获取应用程序的信息和状态。这个xml文件也会在应用程序的安装、卸载、更新等操作后更新,以保持数据的一致性。
2、应用卸载。
用户可以通过设置菜单、应用列表、桌面图标等方式,在终端设备上选择要卸载的应用程序,并生成该应用程序的卸载指令。基于对一应用程序的卸载指令,zygote进程调用PackageInstaller应用来卸载该应用程序。PackageInstaller应用通过调用PMS来执行该应用程序的卸载。例如,PackageInstaller应用可以调用PMS的deletePackage方法完成卸载。该应用程序卸载后,PMS可以调用Settings类的deletePackageLocked方法,从Settings对象中删除该应用程序对应的应用信息和签名,即在/data/system/packages.xml文件中删除该应用程序对应的应用信息和签名。
3、多用户模式。
多用户模式是指多个用户用各自的个人账号在同一台终端设备上登录和操作。每个用户都具有其对应的用户空间。用户可以在其对应的用户空间安装应用程序、存储文件和其他用户数据。不同的用户空间之间信息隔离。
在多用户模式下,可设定第一个在终端设备上注册的用户为主用户。主用户拥有对终端设备的全部操作权限,包括添加或删除子用户,更改终端设备设置,安装或卸载应用等。在一些***中,主用户还可以对子用户的权限进行管理和限制。子用户为主用户创建的其他用户。子用户具有其对应的用户空间。子用户可以在其对应的用户空间中,安装应用程序、或者删除已安装的应用查询。当主用户删除一子用户时,会同时删除该子用户对应的用户空间。子用户对应的用户空间删除时,会同时删除子用户空间中安装的应用程序,以及该子用户空间中存储的数据。
下面将结合附图对本申请实施例提供的应用管理方法进行举例描述。
图1为本申请实施例提供的一种终端设备的框架示意图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将软件***分为四层,从上至下分别为应用程序层,框架层,***库以及内核层。
应用程序层可以包括一系列应用程序。例如,应用程序可以包括桌面、地图、蓝牙、音乐、短信息、图库、相机、导航、视频等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(ApplicationProgramming Interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。例如,应用程序框架层可以包括包管理服务、特性管理器、签名校验模块、应用清理模块、应用识别模块、云推模块、资源管理器等。包管理服务用于对终端设备上的应用程序进行管理,如应用程序的安装、卸载、更新等。特性管理器用于对终端设备提供的服务进行管理,如可以用于对签名校验服务进行管理。签名校验模块用于对应用程序进行签名校验,例如,可以根据应用程序的应用包名对该应用程序进行签名校验,从而确定该应用程序是否假冒别的应用程序的应用包名。应用清理模块用于对运行的应用程序进行清理,可以用于结束后台运行的应用程序的应用进程。应用识别模块用于对识别应用程序的应用类型。云推模块用于接收云端服务器推送的广播。在接收到广播后,云推模块可以生成并发送云推事件通知。资源管理器用于为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如,表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如SGL)、图像处理库等。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。可以理解的是,图1示出的软件结构中的层以及各层中包含的部件,并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。图2为本申请实施例中提供的一种应用管理方法的流程示意图。如图2所示,所述方法包括:
101,第一应用前台运行。
第一应用可以是终端设备安装的任意一个应用程序,在此不做任何限定。例如,可以是图1所示的地图、蓝牙、音乐、短信息、图库、相机、导航、视频中的任意一个应用程序。
在使用终端设备时,用户可以通过多种方式打开终端设备安装的第一应用。在本申请的一实施例中,可以通过点击桌面上第一应用的应用图标,或者,通过点击消息通知栏中第一应用的通知消息等。例如,以第一应用为视频应用为例进行举例说明,终端设备的屏幕上显示桌面,桌面包括视频应用的应用图标。用户点击视频应用的应用图标后,终端设备中的输入管理模块可以识别出用户的点击操作,并将点击操作上报给桌面;桌面可以根据用户的点击操作确定被点击的应用图标以及被点击的应用图标对应的视频应用,并向活动管理组件(ActivityManagerServer,AMS)发送启动视频应用的请求。视频应用开启后,视频应用前台运行,终端设备显示第一应用的应用界面。
102,第一应用切换至后台。
在本申请的一实施例中,可以响应于第二应用的启动,第一应用被切换至后台运行。第二应用可以是除第一应用外的任意一款应用,在此不做任何限定。
在本申请的一实施例中,可以基于用户返回桌面的操作,第一应用被切换至后台运行。返回桌面的操作用于控制终端设备从当前显示的应用界面返回桌面。在本申请的一实施例中,返回桌面的操作可以包括点击导航栏(navigation bar)、使用手势导航、点击悬浮导航。其中导航栏,是一种在屏幕上显示一组常用功能按键的方式。点击导航栏可以包括点击返回键、主页键、最近应用键。手势导航用于通过不同的手势来控制手机。使用手势导航可以包括在屏幕上滑动一个手势,如进行底部上滑动作。悬浮导航,是一种在终端设备屏幕上显示一个可移动的按钮或者图标。点击悬浮导航可以包括长按悬浮导航,返回桌面,使得当前应用程序切换至后台。
操作***触发应用清理,执行步骤103,向应用清理模块发送应用清理指令。
在本申请的一实施例中,当终端设备处于目标状态时,操作***会触发应用清理。目标状态可以根据实际情况进行设置,目标状态可以包括内存低于内存阈值、终端设备的设备温度高于温度阈值、终端设备的耗电速率高于速率阈值、终端设备的电量低于电量阈值、用户触发应用清理中的一种或多种状态,在此不做过多的限定。
应用清理模块接收到应用清理指令后,会对终端设备中后台运行的应用,即后台应用,进行清理。应用清理模块可以依次对每个后台应用进行清理决策,确定是否对其进行保活或者结束其对应的应用进程。
104,应用清理模块确定第一应用的应用包名是否在保活白名单。
保活白名单用于存储用户需要进行保活的应用程序的应用包名。当一应用程序的应用包名在保活白名单中,确定用户需要对该应用程序进行保活。
在本申请的一实施方式中,可以基于用户的选择,确定保活白名单。用户可以通过将应用程序设置为允许后台活动,将应用程序的应用包名加入保活白名单。图3为本申请实施例提供的一种应用程序设置界面的示意图。例如,如图3中(a)所示,用户可以在终端设备上对安装的应用程序进行应用启动管理,可以设置每个应用程序对应的权限。如图3中(b)所示,用户选中了视频应用后,可以对视频应用是否允许后台活动进行设置,例如将视频应用的允许后台活动的开关打开,视频应用被设置为允许后台活动,使得视频应用的应用包名加入保活白名单;将视频应用的允许后台活动的开关关闭,视频应用被设置为不允许后台活动。若视频应用的应用包名加入保活白名单后,基于视频应用被设置为不允许后台活动,在保活白名单中移除视频应用的应用包名。在一实施方式中,可以通过对终端设备上安装的应用程序进行管理的管理应用,确定保活白名单。例如,用户可以基于管理应用,设置保活白名单,将一应用程序加入保活白名单;或者,将一应用程序移出保活白名单。
若确定第一应用的应用包名不在保活白名单,流程结束,可以选择预设的判断方式确定是否对第一应用进行保活。在本申请的一实施例中,判断方法可以包括判断第一应用是否为常驻进程、判断第一应用是否在进行后台服务、判断第一应用是否为上一个应用界面对应的应用程序。后台服务是指在应用程序在后台运行时执行的持续性的任务,如下载数据、播放音频等。上一个应用界面对应的应用程序是指切换至当前应用界面之前的应用界面对应的应用程序。例如,第一应用切换至后台后,停止显示第一应用对应的应用界面,显示桌面;此时,当前应用界面为桌面,上一应用界面为第一应用对应的应用界面。在一些实施方式中,当第一应用为常驻进程时,对第一应用进行保活;当第一应用在进行后台服务时,对第一应用进行保活;当第一应用为上一个应用界面对应的应用程序时,对第一应用进行保活。
若确定第一应用的应用包名在保活白名单,执行步骤105,应用清理模块向签名校验模块发送签名校验请求。
签名校验请求用于控制签名校验模块对第一应用进行签名校验。在本申请的一实施例中,签名校验请求包括第一应用的应用包名。
106,签名校验模块对第一应用进行签名校验。
在本申请的一实施例中,签名校验模块设置了配置缓存和应用签名缓存这两个模块。
其中,配置缓存用于存储预设的配置文件。配置文件的制作者可以是操作***对应的开发人员,也可以是终端设备对应的厂商。配置文件中可以包含市面上常用的应用程序的配置信息,常用的应用程序可以包括使用率高于预设的第一阈值的应用程序、安装率高于预设的第二阈值的应用程序、影响力高于预设的第三阈值的应用程序,第一阈值、第二阈值和第三阈值可以根据实际情况进行设置。配置信息可以包括应用程序对应的应用包名和与应用包名对应的应用签名,配置信息中还包括应用包名和应用签名之间的映射关系,使得可以根据映射关系、确定应用包名对应的应用签名。
例如,一应用程序在配置文件中的配置信息可以为:<package name="com.example.test">//应用包名为com.example.test;<item signature="aabbccdd">/应用签名为aabbccdd。
由于一应用程序的应用开发者可以为不同企业定制该应用程序的不同应用包名的安装文件,使得应用程序在不同的企业具有不同的应用包名,不同应用包名对应相同的应用签名。例如,以钉钉®为例,钉钉®的原始应用包名为com.alibaba.android.rimet,钉钉®的应用开发者为不同公司定制的包名可能包括:com.alibaba.android.rimet.companyA、com.alibaba.android.rimet.companyB、com.alibaba.android.rimet.companyC。如果在配置文件中配置应用程序为不同公司定制的所有应用包名,会导致配置文件中的配置信息过多,不仅占用存储空间,而且增加了配置文件的维护难度,所以在本申请的一实施例中,配置文件的制作者可以在一应用程序存在多个应用包名时,确定该应用程序对应的包名前缀;将包名前缀和应用签名存储至配置文件中。包名前缀为所述应用程序对应的所有应用包名都包含的前缀,包名前缀相当于一个应用包名。例如,钉钉®的包名前缀可以是com.alibaba.android.rimet。在该实施例中,当一应用程序存在多个应用包名时,不在配置文件中存储所有的应用包名,将包名前缀作为应用包名,并只存储包名前缀和应用签名,可以有效减少配置文件中配置信息的数量,降低维护配置文件的维护难度。
在本申请的一实施例中,配置文件中应用程序的配置信息根据应用程序开发者发布的应用程序安装包确定的。例如,配置文件的制作者从应用程序对应的官方渠道获取的应用程序安装包,如从官方下载渠道获取,并根据获取到的应用程序安装包得到配置文件中应用程序的配置信息。配置文件中包含的应用程序可以包括终端设备上已安装的应用程序,还可以包括终端设备上未安装的应用程序。
在本申请的一实施例中,配置缓存可以基于云端服务器推送的新的配置文件,对配置缓存中储存的配置文件进行更新。例如,在接收到新的配置文件时,可以对配置缓存中存储的历史配置文件进行删除,并将新的配置文件存储至配置缓存。图4为本申请实施例提供的一种生成应用签名缓存和配置缓存的流程示意图。如图4所示,特性管理器开启签名校验模块中的签名校验特性,使签名校验服务开启。在本申请的一实施例中,特性管理器可以在终端设备开机时,开启签名校验模块中的签名校验特性;或者,特性管理器可以在操作***触发应用清理时,开启签名校验模块中的签名校验特性。签名校验特性开启后,通知签名校验服务开启;签名校验服务开启后,在配置读取器中获取配置文件。配置读取器用于存储配置文件。配置读取器可以存储预置在终端设备中配置文件,还可以与云端服务器进行通信,用于接收并存储云端服务器推送的配置文件。签名校验服务接收到配置文件后,将配置文件存储至配置缓存中。
在本申请的一实施例中,配置文件的制作者可以为所有的终端设备设置一个通用的配置文件,也可以基于不同的操作***的版本为终端设备设置不同的配置文件。
应用签名缓存用于存储终端设备上已安装的应用程序的应用信息。所述应用信息可以包括应用程序对应的应用包名和与应用包名对应的应用签名,应用信息还包括应用包名和应用签名之间的映射关系,使得可以根据映射关系、确定应用包名对应的应用签名。在本申请的一实施例中,应用签名缓存可以通过访问PMS获取已安装应用程序的应用信息,应用信息包括应用签名和应用包名,得到已安装应用程序的应用信息。例如,如图4所示,签名校验服务还可以用于通知应用签名缓存进行初始化;应用签名缓存初始化时可以从PMS获取并存储已安装应用程序的应用信息,应用信息包括应用签名和应用包名。例如,应用签名缓存可以基于PMS中的/data/system/packages.xml文件,获取已安装应用程序的应用信息。例如,应用签名缓存可以通过调用PMS上的getPackageInfoAsUser、getInstalledPackagesAsUser等接口,获取/data/system/packages.xml文件,从而得到已安装应用程序的应用签名。
签名校验模块对第一应用进行签名校验时,可以基于第一应用的应用包名在配置缓存和应用签名缓存这两个模块进行查询,分别得到对应的应用签名;通过比较得到的两个签名,得到第一应用的签名校验结果。图5为本申请实施例提供的一种签名校验的流程示意图。如图5所示,签名校验模块中的签名校验服务接收到应用清理模块发送的签名校验请求时,从应用签名缓存中获取第一应用对应的应用签名,以下简称第一签名;并从配置缓存中获取第一应用的应用包名对应的应用签名,以下简称第二签名。签名校验模块比较获取到的第一签名和第二签名,得到签名校验结果。若第一签名和第二签名相同,确定签名校验结果为成功;若第一签名和第二签名不相同,确定签名校验结果为失败。签名校验模块在得到签名校验结果后,可以对签名校验结果进行保存。在本申请的一实施例中,可以在应用签名缓存中,确定与第一应用的应用包名匹配的应用包名;并将该应用包名对应的应用签名,确定为第一签名。例如,当应用签名缓存中一应用包名与第一应用的应用包名相同,确定该应用包名与第一应用的应用包名匹配。在本申请的一实施例中,可以在配置缓存中,确定与第一应用的应用包名匹配的应用包名;并将该应用包名对应的应用签名,确定为第二签名。若配置缓存中一应用包名包含在第一应用的应用包名内,或者若配置缓存中一应用包名与第一应用的应用包名相同,确定第一应用的应用包名与配置缓存中的该应用包名匹配。
在本申请的一实施例中,应用签名缓存存储应用信息后,可以基于终端设备上的应用程序变更情况,对存储的应用信息进行更新。例如,如图4所示,签名校验特性可以在特性管理器上注册监听事件,监听事件用于对终端设备上的应用程序的变更事件进行监听,如应用安装事件、应用卸载事件、子用户删除事件等。
当特性管理器上检测到签名校验特性注册的监听事件后,会向签名校验特性发送对应的通知,如应用安装事件通知、应用卸载事件通知、子用户删除事件通知等。图6为本申请实施例提供的一种更新应用签名缓存的流程示意图。如图6所示,签名校验特性接收到特性管理器发送的应用安装事件通知后,签名校验特性向签名校验服务发送应用安装事件通知;签名校验服务接收到应用安装事件通知,向应用签名缓存发送应用安装事件通知,使得应用签名缓存进行更新;应用签名缓存可以通过PMS获取新安装应用的应用信息,如应用签名,进行更新,使得更新后的应用签名缓存中包含该新安装应用的签名。签名校验特性接收到特性管理器发送的应用卸载事件通知后,签名校验特性向签名校验服务发送应用卸载事件通知;签名校验服务接收到应用卸载事件通知,向应用签名缓存发送应用卸载事件通知,使得应用签名缓存进行更新;应用签名缓存可以删除该应用卸载事件通知对应的应用程序的应用信息,完成更新,使得更新后的应用签名缓存不再包含该应用程序的应用签名。签名校验特性接收到特性管理器发送的子用户删除事件通知后,签名校验特性向签名校验服务发送子用户删除事件通知;签名校验服务接收到子用户删除事件通知,向应用签名缓存发送子用户删除事件通知,使得应用签名缓存进行更新;应用签名缓存可以删除原有的缓存,重新在PMS上获取并存储已安装应用的应用信息,实现应用签名缓存的更新。应用签名缓存获取应用信息的一些具体实施方式,可以参见上文中的相关描述。
在本申请的一实施例中,签名校验模块生成配置缓存后,可以基于云端服务器的推送,对配置缓存进行更新。图7为本申请实施例提供的一种更新配置缓存的流程示意图。如图7所示,终端设备中的云推模块,可以用于接收云端服务器推送的数据。当云推模块接收到云端服务器推送的携带配置文件的广播时,向签名校验特性发送该广播对应的云推事件通知,云推事件通知用于对云端服务器推送的配置文件的事件进行通知。签名校验特性接收到特性管理器发送的云推事件通知后,签名校验特性向签名校验服务发送云推事件通知;签名校验服务接收到云推事件通知,从配置读取器中读取云端服务器推送的配置文件;签名校验服务接收到配置文件后,将配置文件发送至配置缓存,使配置缓存进行更新。例如,配置文件接收到签名校验服务发送的配置文件后,可以对已缓存的配置文件进行删除,并存储新接收到的配置文件。
107,签名校验模块向应用清理模块发送签名校验结果。
在本申请的一实施例中,签名校验结果包括:
xxx checkSignature failed/success ;//xxx签名校验失败/成功;
或者,
pkgname = xxx compare signature result: false/true;//应用包名xxx签名校验失败/成功;
108,若第一应用的签名校验成功,应用清理模块对第一应用进行保活。
在本申请的一实施例中,若第一应用未签名校验成功,可以根据预设的判断方法确定是否对第一应用进行保活。判断方法可以参见上文中的相关描述。
上述实施例提供的应用管理方法,在终端设备触发应用清理时,可以基于预先配置的保活白名单确定是否对当前的一后台应用进行保活,实现了对用户需要后台运行的应用程序进行保活的目的;同时,在一后台应用的应用包名在保活白名单中的情况下,不直接对该后台应用进行保活,而是进一步对该后台应用进行签名验证,并在该后台应用签名验证成功后对该后台应用进行保活,不直接对应用包名在保活白名单中的后台应用进行保活,可以避免一些应用程序通过使用保活白名单中的应用包名,冒充保活白名单应用,从而绕开应用清理的情况出现,从而提高了应用清理的准确率。
上面实施例中提及若确定第一应用的应用包名不在保活白名单,可以选择预设的判断方式确定是否对第一应用进行保活,下面结合附图对在第一应用的应用包名不在保活白名单时确定是否对第一应用进行保活的一种方法进行说明。图8为本申请实施例提供的一种应用管理方法的流程示意图。如图8所示,执行完图2中的步骤104后,若确定第一应用的应用包名不在保活白名单,所述方法包括:
201,应用清理模块向应用识别模块发送类型识别请求。
类型识别请求用于通知应用识别模块对第一应用进行类型识别。在本申请的一实施例中,应用清理模块发送的类型识别请求中可以包括第一应用的应用包名,使得应用识别模块根据第一应用的应用包名确定第一应用的应用类型。
202,应用识别模块确定是否存在第一应用对应的配置信息。
在本申请的一实施例中,配置缓存中存储的配置文件中包括应用包名、应用类型和应用签名,其中配置文件中还包括应用包名、应用类型和应用签名的映射关系。应用包名可以包括包名前缀。例如,一应用程序在配置文件中的配置信息可以为:<package name= "com.example.test">//应用包名为com.example.test;<item type="IM"/>//应用类型为IM;<item signature="aabbccdd">/应用签名为aabbccdd。在本申请的一实施例中配置文件的制作者可以在生成一应用程序的配置信息时,基于算法识别,确定该应用程序的应用类型。例如,可以基于应用程序开发者的对应用程序的描述,识别出该应用程序的应用类型。生成配置文件的一些具体描述,如包名前缀的相关描述,可以参见上文的相关描述。应用识别模块接收的到类型识别请求后,基于第一应用的应用包名进行查找,确定配置文件中是否存在与第一应用的应用包名匹配的应用包名,即确定配置文件中是否存在第一应用的应用包名对应的配置信息。
在本申请的一实施例中,当配置文件中存在一应用包名与第一应用的应用包名匹配,确定配置文件中存在第一应用的应用包名对应的配置信息;当配置文件中没有应用包名与第一应用的应用包名匹配,确定配置文件中不存在第一应用的应用包名对应的配置信息。若配置缓存中一应用包名包含在第一应用的应用包名内,或者若配置缓存中一应用包名与第一应用的应用包名相同,确定第一应用的应用包名与配置缓存中的该应用包名匹配。
若应用识别模块确定不存在第一应用对应的配置信息,该方法的流程结束,可以基于其他的应用类型确定方法确定第一应用的应用类型,不局限于上述举例,并可以将确定的第一应用的应用类型,发送至应用清理模块。在本申请实施例中,当应用清理模块接收到第一应用的应用类型,确定第一应用的应用类型为目标类型时,对第一应用进行保活。
203,应用识别模块向签名校验模块发送签名校验请求。
在本申请的一实施例中,签名校验请求包括第一应用的应用包名。
204,签名校验模块对第一应用进行签名校验。
205,签名校验模块向应用识别模块发送签名校验结果。
关于步骤204-205的一些具体实施方式,可以参见图2中步骤106-107的相关描述。
206,若第一应用签名校验成功,应用识别模块基于配置信息确定第一应用中的应用类型。
在本申请的一实施方式中,若第一应用的签名校验成功,应用识别模块将第一应用对应的配置信息中的应用类型确定为第一应用的应用类型。
207,应用识别模块向应用清理模块发送应用类型。
208,若第一应用的应用类型为目标类型,对第一应用进行保活。
目标类型可以根据用户的需求进行设置,例如目标类型可以包括即时通讯类型、音频播放器类型等。
上述实施例提供的应用管理方法,在终端设备触发应用清理时,可以基于当前的一后台应用的应用包名和配置文件确定该台应用的应用类型,提高了确定应用类型的效率,并在该后台应用的应用类型为目标类型时,对该后台应用进行保活,避免查杀掉用户需要的应用;同时,在基于配置文件确定该后台应用的应用类型之前,先对该后台应用进行签名验证,并在该后台应用签名验证成功后才将根据配置文件确定应用类型,可以避免一些应用程序通过将其应用包名修改为目标类型应用的应用包名,冒充为目标类型的应用,绕开应用清理的情况出现,从而提高了应用清理的准确率。
图9为本申请实施例中提供的一种应用管理方法的流程示意图。如图9所示,所述方法包括:
301,第一应用前台运行。
302,第一应用切换至后台。
操作***触发应用清理,执行步骤303,向应用清理模块发送应用清理指令。
关于步骤301-303的一些具体实施方式,可以参见图2中步骤101-103的相关描述。
304,应用清理模块向应用识别模块发送类型识别请求。
305,应用识别模块确定是否存在第一应用的配置信息。
306,应用识别模块向签名校验模块发送签名校验请求。
307,签名校验模块对第一应用进行签名校验。
308,签名校验模块向应用识别模块发送签名校验结果。
309,若第一应用签名校验成功,应用识别模块基于配置信息确定第一应用中的应用类型。
310,应用识别模块向应用清理模块发送应用类型。
311,若第一应用的应用类型为目标类型,对第一应用进行保活。
关于步骤304-311的一些具体实施方式,可以参见图2中步骤201-208的相关描述。
上述实施例提供的应用管理方法,在终端设备触发应用清理时,可以基于当前的一后台应用的应用包名和配置文件确定该后台应用的应用类型,提高了确定应用类型的效率,并在该后台应用的应用类型为目标类型时,对该后台应用进行保活,避免查杀掉用户需要的应用;同时,在基于配置文件确定该后台应用的应用类型之前,先对该后台应用进行签名验证,并在该后台应用签名验证成功后才将根据配置文件确定应用类型,可以避免一些应用程序通过将其应用包名修改为目标类型应用的应用包名,冒充为目标类型的应用,绕开应用清理的情况出现,从而提高了应用清理的准确率。
图10为本申请实施例提供的一种终端设备100的结构示意图。参考图10,终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块120,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I1C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I1C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。I2S接口可以用于音频通信。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等***器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I1C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备100充电,也可以用于终端设备100与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备100,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。
移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙(bluetooth,BT),全球导航卫星***(globalnavigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
终端设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为服务异常提醒的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。
在一些实施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。终端设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展终端设备100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端设备100可以设置至少一个麦克风170C。在另一些实施例中,终端设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动终端设备100平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of theUSA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。陀螺仪传感器180B可以用于确定终端设备100的运动姿态。气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。终端设备100可以利用磁传感器180D检测翻盖皮套的开合。加速度传感器180E可检测终端设备100在各个方向上(一般为三轴)加速度的大小。距离传感器180F,用于测量距离。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹。温度传感器180J用于检测温度。触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。马达191可以产生振动提示。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过***SIM卡接口195,或从SIM卡接口195拔出,实现和终端设备100的接触和分离。终端设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时***多帧卡。所述多帧卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。终端设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端设备100中,不能和终端设备100分离。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在终端设备100上运行时,使得终端设备100执行上述相关方法步骤实现上述实施例中的应用管理方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的应用管理方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的应用管理方法。
其中,本实施例提供的终端设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不离本申请技术方案的精神和范围。
Claims (10)
1.一种应用管理方法,应用于终端设备,其特征在于,所述方法包括:
响应于第一操作,开启应用程序;
响应于第二操作,将所述应用程序从前台切换至后台运行;
若所述应用程序的应用包名在预设的保活白名单中,对所述应用程序进行签名校验;
若所述应用程序的签名校验成功,对所述应用程序的应用进程进行保活。
2.如权利要求1所述的应用管理方法,其特征在于,所述对所述应用程序进行签名校验包括:
基于所述应用程序的应用签名和预设的配置缓存中的所述应用包名对应的目标签名,对所述应用程序进行签名校验;
若所述应用签名和所述目标签名相同,确定所述应用程序的签名校验成功;
若所述应用签名和所述目标签名不相同,确定所述应用程序的签名校验失败。
3.如权利要求1所述的应用管理方法,其特征在于,所述方法还包括:
若所述应用程序的应用类型为目标类型,对所述应用程序进行保活。
4.如权利要求3所述的应用管理方法,其特征在于,所述若所述应用程序的应用类型为目标类型,对所述应用程序进行保活之前,所述方法还包括:
若所述应用程序的应用包名不在所述保活白名单,确定所述应用程序的应用类型。
5.如权利要求4所述的应用管理方法,其特征在于,所述确定所述应用程序的应用类型包括:
若所述应用程序的应用包名在预设的配置缓存中存在对应的配置信息,对所述应用程序进行签名校验;
若所述应用程序的签名校验成功,将所述配置缓存中所述配置信息中的应用类型确定为所述应用程序的应用类型。
6.如权利要求5所述的应用管理方法,其特征在于,所述方法还包括:
若所述应用程序的应用包名与所述配置缓存中的任一应用包名匹配,确定所述应用程序的应用包名在所述配置缓存中存在对应的配置信息。
7.如权利要求2所述的应用管理方法,其特征在于,所述方法还包括:
基于云端服务器推送的信息,对所述配置缓存进行更新。
8.一种应用管理方法,应用于终端设备,其特征在于,所述方法包括:
响应于第一操作,开启应用程序;
响应于第二操作,将所述应用程序从前台切换至后台运行;
若所述应用程序的应用包名在预设的配置缓存中存在对应的配置信息,对所述应用程序进行签名校验;
若所述应用程序的签名校验成功,将所述配置信息中的应用类型确定为所述应用程序的应用类型;
若所述应用程序的应用类型为目标类型,对所述应用程序进行保活。
9.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端设备上运行时,使得所述终端设备执行如权利要求1至8中任一项所述的应用管理方法。
10.一种终端设备,其特征在于,所述终端设备包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述终端设备执行如权利要求1至8中任一项所述的应用管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311284168.5A CN117076089B (zh) | 2023-10-07 | 2023-10-07 | 应用管理方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311284168.5A CN117076089B (zh) | 2023-10-07 | 2023-10-07 | 应用管理方法、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117076089A true CN117076089A (zh) | 2023-11-17 |
CN117076089B CN117076089B (zh) | 2024-03-26 |
Family
ID=88706314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311284168.5A Active CN117076089B (zh) | 2023-10-07 | 2023-10-07 | 应用管理方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076089B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9389993B1 (en) * | 2010-09-03 | 2016-07-12 | Cisco Technology, Inc. | System and method for whitelist management |
CN107844342A (zh) * | 2017-11-21 | 2018-03-27 | 广东欧珀移动通信有限公司 | 应用程序保活的管控方法、装置及存储介质和移动终端 |
CN109992310A (zh) * | 2019-03-12 | 2019-07-09 | 中国平安财产保险股份有限公司 | 应用程序保活方法、装置、计算机设备和存储介质 |
US20200259845A1 (en) * | 2018-12-04 | 2020-08-13 | Journey.ai | Providing access control and identity verification for communications when receiving a communication from an entity to be verified |
CN112099757A (zh) * | 2020-09-21 | 2020-12-18 | 珠海格力电器股份有限公司 | 一种应用保活的方法以及装置 |
CN114428546A (zh) * | 2022-01-25 | 2022-05-03 | 惠州Tcl移动通信有限公司 | 后台应用清理方法、装置、存储介质及终端设备 |
CN116108416A (zh) * | 2023-02-27 | 2023-05-12 | 上海智能交通有限公司 | 一种应用程序接口安全防护方法及*** |
-
2023
- 2023-10-07 CN CN202311284168.5A patent/CN117076089B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9389993B1 (en) * | 2010-09-03 | 2016-07-12 | Cisco Technology, Inc. | System and method for whitelist management |
CN107844342A (zh) * | 2017-11-21 | 2018-03-27 | 广东欧珀移动通信有限公司 | 应用程序保活的管控方法、装置及存储介质和移动终端 |
US20200259845A1 (en) * | 2018-12-04 | 2020-08-13 | Journey.ai | Providing access control and identity verification for communications when receiving a communication from an entity to be verified |
CN109992310A (zh) * | 2019-03-12 | 2019-07-09 | 中国平安财产保险股份有限公司 | 应用程序保活方法、装置、计算机设备和存储介质 |
CN112099757A (zh) * | 2020-09-21 | 2020-12-18 | 珠海格力电器股份有限公司 | 一种应用保活的方法以及装置 |
CN114428546A (zh) * | 2022-01-25 | 2022-05-03 | 惠州Tcl移动通信有限公司 | 后台应用清理方法、装置、存储介质及终端设备 |
CN116108416A (zh) * | 2023-02-27 | 2023-05-12 | 上海智能交通有限公司 | 一种应用程序接口安全防护方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN117076089B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113254409B (zh) | 文件共享方法、***及相关设备 | |
CN114461239B (zh) | 软件升级***和软件升级方法 | |
CN113805797B (zh) | 网络资源的处理方法、电子设备及计算机可读存储介质 | |
WO2021185352A1 (zh) | 一种版本升级方法及相关装置 | |
CN116028148B (zh) | 一种界面处理方法、装置及电子设备 | |
WO2023051094A1 (zh) | 内存回收方法、装置、电子设备及可读存储介质 | |
CN117076089B (zh) | 应用管理方法、终端设备及存储介质 | |
CN117348894A (zh) | 一种软件升级方法、终端设备及*** | |
CN113467821A (zh) | 应用程序的修复方法、装置、设备及可读存储介质 | |
CN115828227B (zh) | 识别广告弹窗的方法、电子设备及存储介质 | |
CN116541188B (zh) | 通知显示方法、终端设备及存储介质 | |
CN117009023B (zh) | 显示通知信息的方法及相关装置 | |
CN116048710B (zh) | 应用标识的显示方法、电子设备及可读存储介质 | |
CN117376830B (zh) | 地理围栏匹配方法、电子设备及计算机可读存储介质 | |
CN115952564B (zh) | 数据写入方法和终端设备 | |
CN115460445B (zh) | 电子设备的投屏方法和电子设备 | |
CN116048545B (zh) | 一种弹窗广告的处理方法、电子设备及可读存储介质 | |
CN116048544B (zh) | 一种弹窗广告的处理方法、电子设备及可读存储介质 | |
CN114006969B (zh) | 一种窗口启动方法和电子设备 | |
CN118277335A (zh) | 数据管理方法、图形界面及相关装置 | |
CN116048325A (zh) | 一种应用异常行为的处理方法、电子设备及存储介质 | |
CN117785548A (zh) | 文件更新方法和电子设备 | |
CN118277120A (zh) | 一种管理***服务的方法及相关装置 | |
CN117879981A (zh) | 显示方法及电子设备 | |
CN117082419A (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 |