CN111026551A - 一种基于Android系统的优化方法及装置 - Google Patents

一种基于Android系统的优化方法及装置 Download PDF

Info

Publication number
CN111026551A
CN111026551A CN201911200284.8A CN201911200284A CN111026551A CN 111026551 A CN111026551 A CN 111026551A CN 201911200284 A CN201911200284 A CN 201911200284A CN 111026551 A CN111026551 A CN 111026551A
Authority
CN
China
Prior art keywords
application
list
activity
current application
optimization
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
CN201911200284.8A
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.)
Shenzhen Ruiruike Electronics Co Ltd
Original Assignee
Shenzhen Ruiruike Electronics Co Ltd
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 Shenzhen Ruiruike Electronics Co Ltd filed Critical Shenzhen Ruiruike Electronics Co Ltd
Priority to CN201911200284.8A priority Critical patent/CN111026551A/zh
Publication of CN111026551A publication Critical patent/CN111026551A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

本发明涉及通信控制技术领域,提供了一种基于Android系统的优化方法及装置,本发明包括:当监测到活动管理器模块发出广播时,则向系统优化管理模块发送优化信号;根据优化信号,获取系统优化管理模块当前的运行状态,若运行状态为非运行中,从白名单数据库中读取出白名单列表;获取Activity对应的所有列表应用;循环判断列表应用中的每个应用是否存在白名单列表中,如果当前应用不存在白名单列表中,则判断当前应用是否属于系统权限应用;若当前应用不属于系统权限应用,则启用killProcess()方法杀死当前应用,并释放当前应用所占用的内存和CPU资源。本发明的方法及装置操作简单,能够自动化清理驻留后台的Android应用,实现系统优化资源,减少系统卡顿的现象。

Description

一种基于Android系统的优化方法及装置
技术领域
本发明涉及通信控制技术领域,尤其涉及一种基于Android系统的优化方法及装置。
背景技术
安卓(Android)操作系统是由Google公司开发的一套开源的操作系统,目前广泛的应用于手机,智能电视,机顶盒,或其他手持智能设备。但是,这些设备在使用的过程中,由于使用者可以自由的安装Android应用到设备中,这些应用会在开机后根据系统的消息自动启动处于后台的程序,导致系统中的内存和CPU资源被消耗,从而引起设备卡顿。
Android系统在使用较长时间后出现卡顿的问题,在Android4.2版本以前,是很普遍的存在,当下通常使用的解决方案是通过一些ROM厂商在系统中集成一个内存清理App,用户手动运行该App后,此App的程序会搜索系统中正在运行的进程,然后根据某些规则,杀死其中一些驻留在后台的Android应用,以此达到释放系统内存和CPU资源的方式,从而缓解系统卡顿的情况,但实际上Android系统运行一段时间后,卡顿继续出现,用户需要再次手动上述操作。
上述解决方案使得用户体验较差,而使用了另外的解决方法,通过一种常驻系统的服务,每间隔一定的时间检查系统中内存和CPU资源,当这些资源超过一定的阈值时,搜索系统中正在运行的进程,然后根据规则杀死一些驻留后台的Android应用,解决卡顿问题。但是,由于这个阈值需要根据用户的操作习惯进行优化配置,导致实际使用过程中,还是经常出现卡顿。
发明内容
基于此,有必要针对上述技术问题,提供一种基于Android系统的优化方法及装置,以解决现有的方法无法自动化清理驻留后台的Android应用导致系统卡顿的问题。
一种基于Android系统的优化方法,包括:
通过广播监听模块实时监听Android系统中的活动管理器模块;
当监测到活动管理器模块发出Activity是桌面应用的广播时,则广播监听模块向Android系统中的系统优化管理模块发送优化信号;
根据优化信号,启动Android系统的系统优化服务接口获取系统优化管理模块当前的运行状态;
若运行状态为运行中,则保留优化信号对应的Activity;
若运行状态为非运行中,则从Android系统的白名单数据库中读取出白名单列表,以及获取Activity对应的所有列表应用;
循环判断列表应用中的每个应用是否存在于白名单列表中;
如果当前应用存在于白名单列表中,则保留当前应用;
如果当前应用不存在于白名单列表中,则判断当前应用是否属于系统权限应用;
若当前应用属于系统权限应用,则保留当前应用;
若当前应用不属于系统权限应用,则启用killProcess()方法杀死当前应用,并释放当前应用所占用的内存和CPU资源。
一种基于Android系统的优化装置,包括:
广播监听单元,用于通过广播监听模块实时监听Android系统中的活动管理器模块;
信号发送单元,用于当监测到活动管理器模块发出Activity是桌面应用的广播时,则广播监听模块向Android系统中的系统优化管理模块发送优化信号;
状态获取单元,用于根据优化信号,启动Android系统的系统优化服务接口获取系统优化管理模块当前的运行状态;
进程保留单元,用于若运行状态为运行中,则保留优化信号对应的Activity;
列表读取单元,用于若运行状态为非运行中,则从Android系统的白名单数据库中读取出白名单列表,以及获取Activity对应的所有列表应用;
循环判断单元,用于循环判断列表应用中的每个应用是否存在于白名单列表中;
列表保留单元,用于如果当前应用存在于白名单列表中,则保留当前应用;
权限判断单元,用于如果当前应用不存在于白名单列表中,则判断当前应用是否属于系统权限应用;
应用保留单元,用于若当前应用属于系统权限应用,则保留当前应用;
应用优化单元,用于若当前应用不属于系统权限应用,则启用killProcess()方法杀死当前应用,并释放当前应用所占用的内存和CPU资源。
上述基于Android系统的优化方法及系统及系统,通过广播监听模块监听活动管理器模块中发送的Activity是桌面应用对应的广播,根据该广播向系统优化管理模块发送优化信号,能够实现对Activity的实时监测,并及时做出是否对该Activity进行优化的反应;然后,根据接收到的优化信号启动系统优化服务接口获取系统优化管理模块当前的优化状态,并在运行状态为非运行时,从白名单数据库中读取出白名单列表,以及获取Activity对应的所有列表应用,保证数据获取的及时性和准确性;进而,循环判断列表应用中的每个应用是否存在白名单列表中,如果当前应用不存在白名单列表中,则判断当前应用是否属于系统权限应用,能够保证自动清理当前应用的准确性,若当前应用不属于系统权限应用,则启用killProcess()方法杀死当前应用,能够释放当前应用所占用的内存和CPU资源,系统优化结束,整个方法操作简单,开发成本低,使用覆盖率高,能够保留具备有系统权限的应用和存在于白名单中的应用,并自动化清理驻留系统后台的不存在于白名单中且不具备系统权限的应用,实现系统优化,无需当系统出现卡顿情况时才进行系统优化,能够实时监测每一个Activity使用状态,并根据该状态判断是否需要进行优化,保证系统资源最优化,减少系统卡顿的现象。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中基于Android系统的优化方法的一流程图;
图2是本发明一实施例中基于Android系统的优化方法中步骤S8的一实现流程图;
图3是本发明一实施例中基于Android系统的优化方法中更新白名单数据库的一实现流程图;
图4是本发明一实施例中基于Android系统的优化方法中活动管理器模块使用的一实现流程图;
图5是本发明一实施例中基于Android系统的优化方法中步骤S15的一实现流程图;
图6是本发明一实施例中基于Android系统的优化装置的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的应用环境包括客户端,其中,在应用环境中用户和客户端之间通过网络进行连接,客户端可用于接收用户输入的处理指令,并根据接收到的处理指令在客户端中进行处理,客户端具体可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。本发明实施例提供的基于Android系统的优化方法应用于客户端。
请参阅图1,图1示出本实施例提供的基于Android系统的优化方法的实现流程。详述如下:
S1:通过广播监听模块实时监听Android系统中的活动管理器模块。
具体地,通过广播监听模块实时监听Android系统中的活动管理器模块具体可以是通过在Android系统中注册一个广播监听程序,即在广播监听模块被创建的时候调用regBroadcastReceiver()方法向Android系统注册一个广播监听程序,用于监听由活动管理器模块(ActivityManager)中发送的广播。
其中,调用regBroadcastReceiver()方法向Android系统注册一个广播监听程序具体可以是在注册的BroadcastReceiver对象中重载onReceiver方法中调用startOptimeze方法,这样,当接收到由活动管理器模块中发送的Activity是桌面应用的广播后,就开始进行进一步的系统优化的工作了,能够实现对桌面应用的实时监控,进而保证对桌面应用的实时优化的效率。
S2:当监测到活动管理器模块发出Activity是桌面应用的广播时,则广播监听模块向Android系统中的系统优化管理模块发送优化信号。
在本实施例中,应用程序的每一个界面都是一个Activity,所以也有人称其为视图界面。从字面的意思去理解,Activity具有活动的意思,我们在应用中进行的操作都是集中在Activity上面完成,例如拨号、拍照、发送email、看地图。每一个Activity被给设置到一个窗口,在上面可以绘制交互界面。一个应用程序通常由多个Activities组成,他们通常是松耦合关系,通常一个应用程序包含有一个主Activity,即点击桌面图标的时候首先进入的Activity。
具体地,通过步骤S1的广播监听模块实时监听Android系统中的活动管理器模块,当该广播监听模块监测到活动管理器模块发出Activity是桌面应用的广播时,该广播监听模块可以根据该广播自动生成相应的优化信号,并向Android系统中的系统优化管理模块发送该优化信号;其中,该优化信号具体可以是电信号,或者即时信息,还可以是其他信号形式,此处不作具体限制。
S3:根据优化信号,启动Android系统的系统优化服务接口获取系统优化管理模块当前的运行状态。
在本实施例中,系统优化管理模块(SystemOptimezeManager)是一个系统的服务管理程序。
其中,系统优化服务接口(IsystemOptimezeService),系统优化服务接口是一个接口类,用于描述系统优化服务对外部程序可调用的方法。
具体地,系统优化管理模块可以在Android系统开机后由系统服务模块(SystemOptimezeService)启动,一直运行在Android系统内部,该系统优化管理模块可以在优化信号之后,通过系统优化服务接口来启动系统优化服务;当系统优化管理模块接收到广播时,即可以理解为Android系统的优化服务启动,则可以通过系统优化服务接口来获取系统优化管理模块当前的优化状态,进一步地,可以通过启动系统优化服务中的优化程序,开始对Android系统进行优化,查询优化的状态等。
其中,本实施例中的系统服务模块用于连接、启动或服务于系统优化管理模块;本实施例中采用的系统优化管理模块还包括unregBroadcastReceiver()方法、bindOptimezeService()方法、unbindOptimezeService()方法、getServiceStatus()方法,以及startOptimeze()方法。
其中,unregBroadcastReceiver()方法,是用于解除注册的广播监听方法,此方法在系统优化管理模块被销毁的时候调用。
其中,bindOptimezeService()方法,是用于连接到系统服务模块的方法;此方法的主要作用是通过AIDL(Android Interface Definition Language)接口类的系统优化服务接口(ISystemOptimezeService),启动并连接到系统服务模块,此方法在系统优化管理模块被创建的时候调用。
其中,unbindOptimezeService()方法,是用于释放系统服务模块的方法。此方法在系统优化管理模块被销毁的时候调用。
其中,getServiceStatus()方法,是在连接到系统服务模块后,返回调用系统服务模块的getStatus方法的返回值,这个值用于表示当前系统优化程序是否正在运行。
其中,startOptimeze()方法,是在连接到系统服务模块后,调用系统服务模块的startOptimeze()方法开始进行优化。
S4:若运行状态为运行中,则保留优化信号对应的Activity。
具体地,根据步骤S3中调用bindOptimezeService()方法来启动并连接到系统服务接口,从而获取系统优化管理模块当前的运行状态,其中,系统优化管理模块当前的运行状态可以通过getServiceStatus()方法在连接到系统服务模块后,返回调用系统服务模块的getStatus方法的返回值来确定;其中,getStatus方法的返回值包括STATUS_RUNNING、STATUS_READY,可以理解为返回值为STATUS_RUNNING时,表明系统优化管理模块当前的运行状态为运行中,表示系统正在进行优化操作,不需要再进行系统优化操作,可以结束对Activity的优化进程,即保留该Activity。
S5:若运行状态为非运行中,则从Android系统的白名单数据库中读取出白名单列表,以及获取Activity对应的所有列表应用。
在本实施例中,白名单数据库(WhiteListDatabase)是一个数据库类,用于保存白名单列表,其中,白名单列表是指不会被优化的应用的名单列表,可以理解为进入白名单列表的应用不会被优化,依然可以保留在系统后台运行。
具体地,根据步骤S3中的启动系统优化服务接口获取系统优化管理模块当前的运行状态,即可以理解为当前返回调用系统服务模块的getStatus方法的返回值为STATUS_READY,表明系统优化管理模块当前的运行状态为非运行中,表示系统没有进行优化操作,需要对当前被启动的Activity进行系统优化操作,进而,可以从白名单数据库中读取出白名单列表来进一步地确定是否需要对该Activity进行优化操作,以保证系统优化的准确性以及优化效率,从而在一定程度上减少系统卡顿的现象。
其中,从白名单数据库中读取出白名单列表可以是通过getList()方法或者readWhiteList()方法来获取白名单数据库中存储的白名单列表,还可以通过其他方法来获取,此处不作具体限制。
进一步地,Activity对应的所有列表应用可以理解为应用中进行的操作都是集中在Activity上面完成的,需要说明的是一个应用程序可以对应多个Activity,一个Activity可以对应多个子应用。
具体地,获取当前Android系统正在运行的Activity对应的所有列表应用具体可以是通过getRunningProcessList()方法获取当前Android系统正在运行Activity对应的所有应用,需要说明的是该获取的方法具体可以是通过Android系统的系统内核命令ps命令来获取当前所有的应用,即列表应用。
S6:循环判断列表应用中的每个应用是否存在于白名单列表中。
具体地,判断列表应用中的每个应用是否存在白名单列表中具体可以是通过调用isWhiteListPackage()方法判断当前应用是否是白名单列表中的应用,该判断结果包括当前应用存在于白名单列表中,或者当前应用不存在于白名单列表中。
S7:如果当前应用存在于白名单列表中,则保留当前应用。
具体地,根据步骤S6得到的判断结果为当前应用存在于白名单列表中,可以理解为该当前应用不会被优化,可以继续保留在当前Android系统的系统后台运行。
进一步地,根据上述如果当前应用存在于白名单列表中,则保留当前应用在当前Android系统的系统后台运行之后,该循环判断操作会继续获取列表应用中的下一个应用,进行判断该应该是否存在白名单列表中的的进程,能够实现自动化的循环判断,从而在一定程度上提高系统优化的效率。
S8:如果当前应用不存在于白名单列表中,则判断当前应用是否属于系统权限应用。
在本实施例中,系统权限应用是由于在Android系统中,系统为每一个应用程序(apk)创建了一个用户和组;这个用户和组都是受限用户,不能访问系统的数据,只能访问自己的文件和目录,当然它也不能访问其他应用程序的数据;这样设计可以尽可能地保护应用程序的私有数据,增强系统的安全性和健壮性;但是有一些应用程序是需要访问一些系统资源的;比如Setting程序,它需要访问WiFi,在系统中创建删除文件等等操作具体可以通过一定途径可以获得system权限,即系统权限,获得该系统权限的应用,即系统权限应用,可以理解为,系统权限应用一般是设备制造商或者系统开发商为了保证Android系统稳定运行,或者支持设备制造商或系统开发商的一些特定的功能而开发的应用,即被Android系统默认为系统运行所必须的应用;这些系统权限应用在编译打包后进行签名的时候使用了设备制造商或者系统开发商所使用的系统权限签名的特殊证书,其他的一些应用的开发人员或组织是没有办法得到这个证书的,可以以此来区分系统权限应用和普通的应用。
具体地,当根据步骤S6中通过调用isWhiteListPackage()方法得到的判断结果为当前应用不存在于白名单列表中时,为了进一步地保证清理应用的准确性,进而保证系统的优化效率,本实施例通过对当前应用进行是否属于系统权限应用的判断来确保,因此,可以对当前应用进行是否属于系统权限应用的判断;其中,该判断结果包括当前应用属于系统权限应用,或者当前应用不属于系统权限应用。
S9:若当前应用属于系统权限应用,则保留当前应用。
具体地,根据步骤S8得到的判断结果为当前应用属于系统权限应用,可以理解为当前具备有系统权限的应用被系统默认为系统运行所必须的应用,需要进行保留,即系统优化管理模块对具备有系统权限的当前应该不能进行清理,该当前应用不会被优化,可以继续保留在当前Android系统的系统后台运行。
S10:若当前应用不属于系统权限应用,则启用killProcess()方法杀死当前应用,并释放当前应用所占用的内存和CPU资源。
在本实施例中,killProcess()方法具体是通过调用Android系统中的AOSP中framework(架构层)的活动程序管理模块的forceStopPackage()方法来实现的,该方法可以彻底的杀死当前应用,且可以防止该当前应用所启动的所有进程,这样可以保证此被杀死的应用不会再次自动运行起来,实现对应用清理的整洁性和及时性,从而保证系统优化。
具体地,当根据步骤S8得到的当前应用不属于系统权限应用的判断结果时,可以理解为需要对当前应用程序进行清理,因此,可以调用killProcess()方法来启动活动程序管理模块的forceStopPackage()方法来杀死当前应用,可以理解为,当用户在每次从某个应用中退出,返回到桌面的时候,系统优化管理模块都会及时的把非系统权限应用和白名单列表以外的应用都杀死,以及时释放当前应用所占用的内存和CPU资源。
需要说明的是,forceStopPackage()方法会被Android系统隐藏,所以无法通过正常的AOSP的API调用方法调用,需要通过Android系统内部的am命令来调用,需要注意的是,由于此处调用的forceStopPackage()方法对权限有要求,必须是system权限拥有者,其编译的脚本文件Android.mk中必须配置。
在本实施例中,通过广播监听模块监听活动管理器模块中发送的Activity是桌面应用对应的广播,根据该广播向系统优化管理模块发送优化信号,能够实现对Activity的实时监测,并及时做出是否对该Activity进行优化的反应;然后,根据接收到的优化信号启动系统优化服务接口获取系统优化管理模块当前的优化状态,并在运行状态为非运行时,从白名单数据库中读取出白名单列表,能够保证进入白名单列表的应用不会被优化,依然可以保留在系统后台运行,或者保证不在白名单列表中的应用能够及时进行清理优化,进一步地,获取Activity对应的所有列表应用,保证数据获取的及时性和准确性;进而,循环判断列表应用中的每个应用是否存在白名单列表中,如果当前应用不存在白名单列表中,则判断当前应用是否属于系统权限应用,能够保证自动清理当前应用的准确性,若当前应用不属于系统权限应用,则启用killProcess()方法杀死当前应用,能够释放当前应用所占用的内存和CPU资源,系统优化结束,整个方法操作简单,开发成本低,使用覆盖率高,能够保留具备有系统权限的应用和存在于白名单中的应用,并自动化清理驻留系统后台的不存在于白名单中且不具备系统权限的应用,实现系统优化,无需当系统出现卡顿情况时才进行系统优化,能够实时监测每一个Activity使用状态,并根据该状态判断是否需要进行优化,保证系统资源最优化,减少系统卡顿的现象。
在一实施例中,如图2所示,步骤S8中,即如果当前应用不存在于白名单列表中,则对当前应用进行是否属于系统权限应用的判断具体包括如下步骤:
S81:获取当前应用对应的用户ID,以及获取Android系统的基础权限名单和最高权限名单。
在本实施例中,由于在Android系统中,每个进程有独立的地址空间,进程与进程间默认是不能互相访问的,所以Android系统通过为每一个apk分配唯一的linux userID来实现,即用户ID,具体可以是名称为"app_"加一个数字,比如app_43,不同的用户ID,运行在不同的进程,所以apk之间默认便不能相互访问。
进一步地,由于在后续步骤中需要调用killProcess()方法来对不具备系统权限的应用进行清理优化,其中,系统权限包括基础权限和高级权限,因此,需要先获取Android系统的基础权限名单,确定具有基础权限的应用,从而保证对具有基础权限的应用进行保留,且及时清理不具备有基础权限的应用,保证优化系统能够稳定进行,其中,基础权限可以理解为,为了保证Android系统稳定运行,而被Android系统默认为系统运行所必须的基础应用所具备的权限。
进一步地,为了保证对不在基础权限定义内的应用,系统优化管理模块能够进行准确、及时地清理,本实施例通过确定当前应用是否具备高级权限来保证;一般情况下,具备基础权限的应用可以在Android系统中用于创建或删除基本文件、应用或者访问设备等等,是系统运行所必须的基础应用,但是有些情况下基础权限是无法执行的,因此是需要最高权限(root)来实现,其中,最高权限可以理解为超级权限,得到高级权限则的应用是可以用于对Android系统进行任意操作的应用,可以理解为系统运行所必须的高级应用,是为了保证Android系统稳定运行,可以保证该应用能够继续在系统后台中运行,系统优化管理模块无法对具备高级权限应用进行清理。
具体地,可以直接通过读取Android系统中apk文件,可以快速获取到当前应用对应的用户ID,以及该文件中所有列表应用对的列表ID,然后,根据获取到的用户ID和其他列表ID,通过在Android系统的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性,进而读取Android.mk文件,则可以获取到基础权限名单,进一步地,可以借助Runtime.getRuntime().exec(String command)访问Android系统获取最高权限名单。
S82:判断用户ID是否存在于基础权限名单中。
具体地,判断用户ID是否存在于基础权限名单中具体可以是直接将用户ID的名称与该基础权限名单中的名称进行比较,其中,判断用户ID是否存在于基础权限名单中还可以通过计算相似度来判断,或者通过其他方法来进行判断,此处不作具体限制。
S83:若用户ID存在于基础权限名单中,则当前应用属于系统权限应用。
具体地,根据步骤S82中采用的比较法,在该基础权限名单中找到与该用户ID的名称一致的,则可以得到用户ID存在于基础权限名单中的判断结果,即该用户ID对应的当前应用属于系统权限应用,该当前应用是Android系统运行所必须的基础应用,则可以对该当前应用进行保留。
S84:若用户ID不存在于基础权限名单中,则判断用户ID是否存在于最高权限名单中。
具体地,根据步骤S82中采用的比较法,在该基础权限名单中未找到任意与该用户ID的名称一致的,则可以得到用户ID不存在于基础权限名单中的判断结果,即该用户ID对应的当前应用不属于系统权限应用,可以理解为该当前应用不是Android系统运行所必须的应用,因此,该系统优化模块可能需要对该当前应用进行清理优化,为了进一步确保能够对该当前应用进行准确清理,本实施例通过判断用户ID是否存在于最高权限名单中来实现,其中,判断用户ID是否存在于最高权限名单中可以采用与步骤S82中的方法来进行判断,此处不再赘述。
S85:若用户ID存在于最高权限名单中,则当前应用属于系统权限应用。
具体地,根据步骤S85中判断高级权限名单采用的比较法,当在该高级权限名单中找到与该用户ID的名称一致的时,则可以得到用户ID存在于高级权限名单中的判断结果,即该用户ID对应的当前应用属于系统权限应用,该当前应用是Android系统运行所必须的,且拥有高级权限的应用,该系统优化管理模块不可以对该当前应用进行清理优化,即该当前应用可以继续保留在Android系统运行。
S86:若用户ID不存在于最高权限名单中,则获取当前应用对应的包名。
具体地,根据步骤S85中判断高级权限名单采用的比较法,当在该高级权限名单中未找到任意与该用户ID的名称一致的,则可以得到用户ID不存在于高级权限名单中的判断结果,即该用户ID对应的当前应用不属于系统权限应用,可以理解为该当前应用不是Android系统运行所必须的应用,该系统优化模块可能需要对该当前应用及时进行清理优化,为了进一步保证能够准确对该当前应用进行清理,可以通过后续的用户ID对应的当前应用的包名是否存在于预设的权限包名开头名单中的判断来实现。
进一步地,当前应用对应的包名是指当前应用用于表示apk文件的名称;其中,包名通常采用反写域名命名规则,即com.xx.xxx.xxxx形式,全部使用小写字母,需要说明的是,一级包名为com,二级包名为xx(一般为公司或个人域名),三级包名根据应用进行命名,四级包名为功能模块名;例如:com.tencent.qq.activitys。
具体地,获取当前应用对应的包名可以通过读取Android系统中apk文件,直接快速获取到当前应用对应的包名。
S87:判断包名的开头是否存在于预设的权限包名开头名单中。
在本实施例中,预设的包名开头具体可以是/system、/sbin和/bin,其中,/system该包名开头主要存放的是常规下载的应用,可以是以apk格式结尾的应用文件,该文件夹下的文件是Android系统默认的组件,设备可以安装的软件在\data\文件夹中;/sbin该包名开头主要存放的是Android系统的自定义应用;/bin该包名开头主要存放的是Android系统的本地应用,主要是Android系统自带的组件(命令)。
具体地,根据步骤S86的判断结果为用户ID不存在于高级权限名单,为了能够进一步确保对该当前应用进行清理,本实施例通过判断包名的开头是否存在于预设的权限包名开头名单中来实现,其中,判断包名的开头是否存在于预设的权限包名开头名单中可以采用与步骤S82中的方法来进行判断,此处不再赘述。
S88:若包名的开头存在于预设的权限包名开头名单中,则当前应用属于系统权限应用。
具体地,根据步骤S87中采用的比较法,若在预设的权限包名开头名单中找到与该包名的开头一致的,则可以得到该包名的开头存在于预设的权限包名开头名单中的判断结果,即该包名对应的当前应用属于系统权限应用,该当前应用是Android系统运行所必须的应用,该系统优化管理模块不可以对该当前应用进行清理优化。
S89:若包名的开头不存在于预设的权限包名开头名单中,则当前应用不属于系统权限应用。
具体地,根据步骤S87中采用的比较法,若在预设的权限包名开头名单中未找到任意与该包名的开头一致的,则可以得到该包名的开头不存在于预设的权限包名开头名单中的判断结果,即该包名对应的当前应用不属于系统权限应用,可以理解为该当前应用不是Android系统运行所必须的基础应用,该系统优化模块需要对该当前应用进行及时清理优化,以保证Android系统的稳定运行。
在本实施例中,由于在后续步骤清理当前应用时,需要具备系统权限的情况下,才能够进行,故通过获取当前应用对应的用户ID,以及Android系统的基础权限名单和最高权限名单,以保证系统优化的及时性和准确性;然后,依次通过判断用户ID是否存在于基础权限名单中、判断用户ID是否存在于最高权限名单中,以及判断包名的开头是否存在于预设的权限包名开头名单中的方法,以确认当前应用是否属于系统权限应用,进而保证系统优化管理模块能够对该当前应用进行清理优化的效率,从而减少系统的卡顿现象。
在一实施例中,如图3所示,在步骤S8之前,该基于Android系统的优化方法具体包括如下步骤:
S11:接收Android系统的客户端发送的处理指令。
在本实施例中,客户端发送的处理指令包括保留当前应用,或者删除赘余应用,是针对Android系统中运行的应用,按照实际应用需求,而输入的相应的操作指令。
具体地,可以通过网络协议接收Android系统的客户端发送的处理指令,其中,该处理指令可以是及时信息,或者数据信号的形式,还可以是其他形式,此处不作具体限制。
S12:若处理指令为保留当前应用,则将当前应用添加至白名单列表中,以更新白名单数据库。
在本实施例中,处理指令为保留当前应用是针对用户需要保留在系统后台中的继续运行的应用而发出的操作指令。
具体地,在系统优化服务接口来获取系统优化管理模块当前的优化状态之后,且启用killProcess()方法杀死当前应用之前,当接收到Android系统的客户端发送的保留当前应用的处理指令,即可以理解为用户有保留某一应用在系统后台中继续运行的需求,则系统优化管理模块都可以通过调用addWhitePackage()方法,将当前应用添加至白名单列表中,从而实现白名单数据库的更新,保证当前应用能够进入白名单列表中,并不再进行优化。
S13:若处理指令为删除赘余应用,则在白名单列表中查找赘余应用,并将赘余应用从白名单列表中剔除。
在本实施例中,处理指令为删除赘余应用是针对用户不需要在系统后台中的继续运行的应用而发出的操作指令。
具体地,当接收到Android系统的客户端发送的对白名单列表中的应用的删除赘余应用的处理指令,即可以理解为用户不需要该赘余应用在系统后台中的继续运行,则系统优化管理模块都可以通过调用removeWhitePackage()方法,在白名单列表中查找到该赘余应用,并将该赘余应用从白名单列表中剔除,可以理解为在后续步骤中,系统优化管理模块可以对该赘余应用进行自动优化清理。
在本实施例中,当接收到Android系统的客户端发送的保留当前应用处理指令,则将当前应用添加至白名单列表中,能够实现白名单数据库的更新,保证当前应用能够进入白名单列表中,并不再进行优化;当接收到Android系统的客户端发送的删除赘余应用的处理指令,则在白名单列表中找到该赘余应用,并将该赘余应用从白名单列表中剔除,能够在后续步骤中,使得系统优化管理模块可以对赘余应用实现优化清理不受限制。
在一实施例中,如图4所示,在步骤S1之前,该基于Android系统的优化方法具体包括如下步骤:
S14:启动Android系统中活动管理器模块。
在本实施例中,活动管理器模块(ActivityManager)是Android系统Framwork(架构层)的内部模块。
具体地,启动Android系统中活动管理器模块具体可以在Android系统启动时由系统服务启动,其中,此模块的功能是用于Android系统管理Activity的,Android系统启动任何的Activity,都会调用此活动管理器模块内的startActivity(启动应用)方法。
S15:通过活动管理器模块判断当前被启动的Activity是否是桌面应用,得到当前被启动的Activity对应的判断结果。
具体地,通过活动管理器模块判断当前被启动的Activity是否是桌面应用,具体可以是通过监控Android系统的当前被启动的Activity是否进入到桌面(Home)界面,本实施例通过修改活动管理器模块的startActivity方法来实现,具体可以是在startActivity方法中插入一段能够用于判断当前被启动的Activity是否是桌面的逻辑代码。
在本实施例中,通过启动Android系统中活动管理器模块,然后启用该活动管理器模块判断当前被启动的Activity是否是桌面应用,得到当前被启动的Activity对应的判断结果,根据该判断结果能够初步断定是否需要对该当前被启动的Activity进行优化,无需进行人工处理,或者当该当前被启动的Activity造成系统卡顿之后,再对该当前被启动的Activity进行优化,能够在一定程度上保证对系统进行优化的及时性和准确性。
在一实施例中,如图5所示,在步骤S15中,即通过活动管理器模块判断当前被启动的Activity是否是桌面应用,得到当前被启动的Activity对应的判断结果具体还包括如下步骤:
S151:获取Android系统中的所有桌面应用的包名数组,以及获取当前被启动的Activity对应的包名。
在本实施例中,包名数组是构成包名的数组类名。
具体地,获取Android系统中的所有桌面应用的包名数组,以及当前被启动的Activity对应的包名具体可以是通过getHomes()方法在AOSP的代码内部中直接就获取到所有的桌面应用包名的数组以及当前被启动的Activity对应的包名。
S152:判断当前被启动的Activity对应的包名是否存在于包名数组中。
具体地,判断当前被启动的Activity对应的包名是否存在于包名数组中具体可以是直接将当前被启动的Activity对应的包名与该包名数组的名称进行比较,来得到相应的判断结果。
S153:若包名存在于包名数组中,则保留当前被启动的Activity。
具体地,根据步骤S152中采用的比较方法,未在该包名数组中找到与该当前被启动的Activity对应的包名一致的,则可以得到当前被启动的Activity对应的Activity不是桌面应用的判断结果,即可以保留当前被启动的Activity继续在Android系统的系统后台中运行。
S154:若包名存在于包名数组中,则得到Activity对应的判断结果为当前被启动的Activity是桌面应用,并由活动管理器模块发出Activity是桌面应用的广播。
具体地,根据步骤S152中采用的比较方法,当在该包名数组中找到与该当前被启动的Activity对应的包名一致的,即可以得到当前被启动的Activity对应的Activity是桌面应用的判断结果,则启用活动管理器模块向系统优化管理模块发出Activity是桌面应用对应的广播。
在本实施例中,根据获取到的Android系统中的所有桌面应用的包名数组,以及当前被启动的Activity对应的包名,判断当前被启动的Activity对应的包名是否存在于包名数组中,若存在,则得到Activity对应的判断结果为当前被启动的Activity是桌面应用,并由活动管理器模块发出Activity是桌面应用对应的广播,能够保证系统对该当前被启动的Activity进行及时优化,并在一定程度上保证对系统进行优化准确性;反之,若不存在,则将该当前被启动的Activity继续保留在系统后台中运行。
在本实施例中,通过监听模块实时监听活动管理模块,当监听由活动管理器模块中发送的Activity是桌面应用对应的广播,则可以根据该广播生成相应的优化信号,并发送至系统优化管理模块,在实现对Activity的实时监测基础上,系统优化管理模块能够及时做出对Activity进行优化的反应;然后,通过启动系统优化服务接口获取系统优化管理模块当前的运行状态,并在运行状态为非运行中,从白名单数据库中读取出白名单列表,能够实现对不在白名单列表中的应用进行及时清理优化,进一步地,保证数据获取的及时性和准确性,进而确保系统进行优化的准确性,通过循环判断列表应用中的每个应用是否存在白名单列表中,以及如果当前应用不存在白名单列表中时,对当前应用进行是否属于系统权限应用的判断,能够保证自动清理当前应用的准确性,然后,若当前应用不属于系统权限应用,则启用killProcess()方法杀死当前应用,能够释放当前应用所占用的内存和CPU资源,系统优化结束,保证系统资源最优化,减少系统卡顿的现象。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于Android系统的优化装置,该基于Android系统的优化装置与上述实施例中基于Android系统的优化方法一一对应。如图6所示,该基于Android系统的优化装置包括广播监听单元601、信号发送单元602、状态获取单元603、进程保留单元604、列表读取单元605、循环判断单元606、列表保留单元607、权限判断单元608、应用保留单元609和应用优化单元610。各功能模块详细说明如下:
广播监听单元601,用于通过广播监听模块实时监听Android系统中的活动管理器模块;
信号发送单元602,用于当监测到活动管理器模块发出Activity是桌面应用的广播时,则广播监听模块向Android系统中的系统优化管理模块发送优化信号;
状态获取单元603,用于根据优化信号,启动Android系统的系统优化服务接口获取系统优化管理模块当前的运行状态;
进程保留单元604,用于若运行状态为运行中,则保留优化信号对应的Activity;
列表读取单元605,用于若运行状态为非运行中,则从Android系统的白名单数据库中读取出白名单列表,以及获取Activity对应的所有列表应用;
循环判断单元606,用于循环判断列表应用中的每个应用是否存在于白名单列表中;
列表保留单元607,用于如果当前应用存在于白名单列表中,则保留当前应用;
权限判断单元608,用于如果当前应用不存在于白名单列表中,则判断当前应用是否属于系统权限应用;
应用保留单元609,用于若当前应用属于系统权限应用,则保留当前应用;
应用优化单元610,用于若当前应用不属于系统权限应用,则启用killProcess()方法杀死当前应用,并释放当前应用所占用的内存和CPU资源。
进一步地,权限判断单元608包括:
ID获取子单元6081,用于获取当前应用对应的用户ID,以及获取Android系统的基础权限名单和最高权限名单;
基础判断子单元6082,用于判断用户ID是否存在于基础权限名单中;
基础确定子单元6083,用于若用户ID存在于基础权限名单中,则当前应用属于系统权限应用;
高级判断子单元6084,用于若用户ID不存在于基础权限名单中,则判断用户ID是否存在于最高权限名单中;
高级确定子单元6085,用于若用户ID存在于最高权限名单中,则当前应用属于系统权限应用;
包名获取子单元6086,用于若用户ID不存在于最高权限名单中,则获取当前应用对应的包名;
名单判断子单元6087,用于判断包名的开头是否存在于预设的权限包名开头名单中;
名单确定子单元6088,用于若包名的开头存在于预设的权限包名开头名单中,则当前应用属于系统权限应用;
名单保留子单元6089,用于若包名的开头不存在于预设的权限包名开头名单中,则当前应用不属于系统权限应用。
进一步地,该基于Android系统的优化装置还包括:
指令接收单元611,用于接收Android系统的客户端发送的处理指令;
应用添加单元612,用于若处理指令为保留当前应用,则将当前应用添加至白名单列表中,以更新白名单数据库;
应用删除单元613,用于若处理指令为删除赘余应用,则在白名单列表中查找赘余应用,并将赘余应用从白名单列表中剔除。
进一步地,该基于Android系统的优化装置还包括:
管理启动单元614,用于启动Android系统中活动管理器模块;
桌面判断单元615,用于通过活动管理器模块判断当前被启动的Activity是否是桌面应用,得到当前被启动的Activity对应的判断结果。
进一步地,桌面判断单元615包括:
数据获取子单元6151,用于获取Android系统中的所有桌面应用的包名数组,以及获取当前被启动的Activity对应的包名;
包名判断子单元6152,用于判断当前被启动的Activity对应的包名是否存在于包名数组中;
组件保留子单元6153,用于若包名存在于包名数组中,则保留当前被启动的Activity;
广播发送子单元6154,用于若包名存在于包名数组中,则得到Activity对应的判断结果为当前被启动的Activity是桌面应用,并由活动管理器模块发出Activity是桌面应用的广播。
关于基于Android系统的优化装置的具体限定可以参见上文中对于基于Android系统的优化方法的限定,在此不再赘述。上述基于基于Android系统的优化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于Android系统的优化方法,其特征在于,所述Android系统中注册有广播监听模块,所述方法包括:
通过所述广播监听模块实时监听所述Android系统中的活动管理器模块;
当监测到所述活动管理器模块发出Activity是桌面应用的广播时,则所述广播监听模块向所述Android系统中的系统优化管理模块发送优化信号;
根据所述优化信号,启动所述Android系统的系统优化服务接口获取所述系统优化管理模块当前的运行状态;
若所述运行状态为运行中,则保留所述优化信号对应的Activity;
若所述运行状态为非运行中,则从所述Android系统的白名单数据库中读取出白名单列表,以及获取所述Activity对应的所有列表应用;
循环判断所述列表应用中的每个应用是否存在于所述白名单列表中;
如果当前应用存在于所述白名单列表中,则保留所述当前应用;
如果当前应用不存在于所述白名单列表中,则判断所述当前应用是否属于系统权限应用;
若所述当前应用属于系统权限应用,则保留所述当前应用;
若所述当前应用不属于系统权限应用,则启用killProcess()方法杀死所述当前应用,并释放所述当前应用所占用的内存和CPU资源。
2.如权利要求1所述的基于Android系统的优化方法,其特征在于,所述如果当前应用不存在于所述白名单列表中,则判断所述当前应用是否属于系统权限应用包括:
获取所述当前应用对应的用户ID,以及获取所述Android系统的基础权限名单和最高权限名单;
判断所述用户ID是否存在于基础权限名单中;
若所述用户ID存在于基础权限名单中,则所述当前应用属于系统权限应用;
若所述用户ID不存在于基础权限名单中,则判断所述用户ID是否存在于最高权限名单中;
若所述用户ID存在于最高权限名单中,则所述当前应用属于系统权限应用;
若所述用户ID不存在于最高权限名单中,则获取所述当前应用对应的包名;
判断所述包名的开头是否存在于预设的权限包名开头名单中;
若所述包名的开头存在于预设的权限包名开头名单中,则所述当前应用属于系统权限应用;
若所述包名的开头不存在于预设的权限包名开头名单中,则所述当前应用不属于系统权限应用。
3.如权利要求1所述的基于Android系统的优化方法,其特征在于,在所述若所述当前应用不属于系统权限应用,则启用killProcess()方法杀死所述当前应用,并释放所述当前应用所占用的内存和CPU资源之前,所述基于Android系统的优化方法还包括:
接收所述Android系统的客户端发送的处理指令;
若所述处理指令为保留所述当前应用,则将所述当前应用添加至所述白名单列表中,以更新所述白名单数据库;
若所述所述处理指令为删除赘余应用,则在所述白名单列表中查找所述赘余应用,并将所述赘余应用从所述白名单列表中剔除。
4.如权利要求1所述的基于Android系统的优化方法,其特征在于,在所述通过所述广播监听模块实时监听所述Android系统中的活动管理器模块之前,所述基于Android系统的优化方法包括:
启动所述Android系统中所述活动管理器模块;
通过所述活动管理器模块判断当前被启动的Activity是否是桌面应用,得到当前被启动的所述Activity对应的判断结果。
5.如权利要求4所述的基于Android系统的优化方法,其特征在于,所述通过所述活动管理器模块判断当前被启动的Activity是否是桌面应用,得到当前被启动的所述Activity对应的判断结果包括:
获取所述Android系统中的所有所述桌面应用的包名数组,以及获取当前被启动的所述Activity对应的包名;
判断当前被启动的所述Activity对应的包名是否存在于所述包名数组中;
若所述包名存在于所述包名数组中,则保留当前被启动的所述Activity;
若所述包名存在于所述包名数组中,则得到所述Activity对应的判断结果为当前被启动的Activity是桌面应用,并由所述活动管理器模块发出Activity是桌面应用的广播。
6.一种基于Android系统的优化装置,其特征在于,所述Android系统中注册有广播监听模块,所述装置包括:
广播监听单元,用于通过所述广播监听模块实时监听所述Android系统中的活动管理器模块;
信号发送单元,用于当监测到所述活动管理器模块发出Activity是桌面应用的广播时,则所述广播监听模块向所述Android系统中的系统优化管理模块发送优化信号;
状态获取单元,用于根据所述优化信号,启动所述Android系统的系统优化服务接口获取所述系统优化管理模块当前的运行状态;
进程保留单元,用于若所述运行状态为运行中,则保留所述优化信号对应的Activity;
列表读取单元,用于若所述运行状态为非运行中,则从所述Android系统的白名单数据库中读取出白名单列表,以及获取所述Activity对应的所有列表应用;
循环判断单元,用于循环判断所述列表应用中的每个应用是否存在于所述白名单列表中;
列表保留单元,用于如果当前应用存在于所述白名单列表中,则保留所述当前应用;
权限判断单元,用于如果当前应用不存在于所述白名单列表中,则判断所述当前应用是否属于系统权限应用;
应用保留单元,用于若所述当前应用属于系统权限应用,则保留所述当前应用;
应用优化单元,用于若所述当前应用不属于系统权限应用,则启用killProcess()方法杀死所述当前应用,并释放所述当前应用所占用的内存和CPU资源。
7.如权利要求6所述的基于Android系统的优化装置,其特征在于,所述权限判断单元包括:
ID获取子单元,用于获取所述当前应用对应的用户ID,以及获取所述Android系统的基础权限名单和最高权限名单;
基础判断子单元,用于判断所述用户ID是否存在于基础权限名单中;
基础确定子单元,用于若所述用户ID存在于基础权限名单中,则所述当前应用属于系统权限应用;
高级判断子单元,用于若所述用户ID不存在于基础权限名单中,则判断所述用户ID是否存在于最高权限名单中;
高级确定子单元,用于若所述用户ID存在于最高权限名单中,则所述当前应用属于系统权限应用;
包名获取子单元,用于若所述用户ID不存在于最高权限名单中,则获取所述当前应用对应的包名;
名单判断子单元,用于判断所述包名的开头是否存在于预设的权限包名开头名单中;
名单确定子单元,用于若所述包名的开头存在于预设的权限包名开头名单中,则所述当前应用属于系统权限应用;
名单保留子单元,用于若所述包名的开头不存在于预设的权限包名开头名单中,则所述当前应用不属于系统权限应用。
8.如权利要求6所述的基于Android系统的优化装置,其特征在于,所述基于Android系统的优化装置还包括:
指令接收单元,用于接收所述Android系统的客户端发送的处理指令;
应用添加单元,用于若所述处理指令为保留所述当前应用,则将所述当前应用添加至所述白名单列表中,以更新所述白名单数据库;
应用删除单元,用于若所述所述处理指令为删除赘余应用,则在所述白名单列表中查找所述赘余应用,并将所述赘余应用从所述白名单列表中剔除。
9.如权利要求6所述的基于Android系统的优化装置,其特征在于,所述基于Android系统的优化装置还包括:
管理启动单元,用于启动所述Android系统中所述活动管理器模块;
桌面判断单元,用于通过所述活动管理器模块判断当前被启动的Activity是否是桌面应用,得到当前被启动的所述Activity对应的判断结果。
10.如权利要求9所述的基于Android系统的优化装置,其特征在于,所述桌面判断单元包括:
数据获取子单元,用于获取所述Android系统中的所有所述桌面应用的包名数组,以及获取当前被启动的所述Activity对应的包名;
包名判断子单元,用于判断当前被启动的所述Activity对应的包名是否存在于所述包名数组中;
组件保留子单元,用于若所述包名存在于所述包名数组中,则保留当前被启动的所述Activity;
广播发送子单元,用于若所述包名存在于所述包名数组中,则得到所述Activity对应的判断结果为当前被启动的Activity是桌面应用,并由所述活动管理器模块发出Activity是桌面应用的广播。
CN201911200284.8A 2019-11-29 2019-11-29 一种基于Android系统的优化方法及装置 Pending CN111026551A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911200284.8A CN111026551A (zh) 2019-11-29 2019-11-29 一种基于Android系统的优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911200284.8A CN111026551A (zh) 2019-11-29 2019-11-29 一种基于Android系统的优化方法及装置

Publications (1)

Publication Number Publication Date
CN111026551A true CN111026551A (zh) 2020-04-17

Family

ID=70203306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911200284.8A Pending CN111026551A (zh) 2019-11-29 2019-11-29 一种基于Android系统的优化方法及装置

Country Status (1)

Country Link
CN (1) CN111026551A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345397A (zh) * 2013-07-11 2013-10-09 北京奇虎科技有限公司 一种清理移动终端进程的方法及装置
CN103530235A (zh) * 2013-10-18 2014-01-22 北京奇虎科技有限公司 移动终端中清理内存的方法及装置
CN105160212A (zh) * 2015-09-29 2015-12-16 上海斐讯数据通信技术有限公司 应用的安全保护方法及系统
CN105592361A (zh) * 2015-12-22 2016-05-18 浪潮软件集团有限公司 一种机顶盒后台程序清理方法、装置及系统
CN105760229A (zh) * 2016-02-15 2016-07-13 广东欧珀移动通信有限公司 一种清除后台运行程序的方法、装置及移动终端
CN106201698A (zh) * 2016-07-15 2016-12-07 北京金山安全软件有限公司 一种管理应用程序的方法、装置及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345397A (zh) * 2013-07-11 2013-10-09 北京奇虎科技有限公司 一种清理移动终端进程的方法及装置
CN103530235A (zh) * 2013-10-18 2014-01-22 北京奇虎科技有限公司 移动终端中清理内存的方法及装置
CN105160212A (zh) * 2015-09-29 2015-12-16 上海斐讯数据通信技术有限公司 应用的安全保护方法及系统
CN105592361A (zh) * 2015-12-22 2016-05-18 浪潮软件集团有限公司 一种机顶盒后台程序清理方法、装置及系统
CN105760229A (zh) * 2016-02-15 2016-07-13 广东欧珀移动通信有限公司 一种清除后台运行程序的方法、装置及移动终端
CN106201698A (zh) * 2016-07-15 2016-12-07 北京金山安全软件有限公司 一种管理应用程序的方法、装置及电子设备

Similar Documents

Publication Publication Date Title
US20220391238A1 (en) Low latency computational capacity provisioning
US11467890B2 (en) Processing event messages for user requests to execute program code
CN106537338B (zh) 自扩展云
EP3201768B1 (en) Programmatic event detection and message generation for requests to execute program code
CN110768807B (zh) 虚拟资源方法及装置、虚拟资源处理网元及存储介质
CN111475227B (zh) 业务插件加载实现方法、装置和终端设备
CN111176801B (zh) 一种多进程管理方法、装置、设备及存储介质
US8326913B2 (en) Method and system for service contract discovery
CN114168179A (zh) 微服务管理方法、装置、计算机设备和存储介质
CN111488163B (zh) 一种固件更新方法、装置及电子设备和存储介质
CN105447384B (zh) 一种反监控的方法、系统及移动终端
CN113485722A (zh) 应用商店的应用程序的上架方法、处理方法及计算机设备
WO2021097683A1 (zh) 安卓系统启动的方法、装置、设备及存储介质
CN109495298B (zh) 在OpenStack系统中管理节点的方法和装置
US11729262B2 (en) Enabling analytics for a virtualized application
CN111026551A (zh) 一种基于Android系统的优化方法及装置
CN114860203A (zh) 项目创建方法、装置、服务器及存储介质
CN115357198A (zh) 存储卷的挂载方法及装置、存储介质及电子设备
CN114662102A (zh) 一种文件处理方法、装置及存储介质
CN115080276B (zh) 应用程序功能动态开关方法、装置、存储介质及电子设备
JP5784792B1 (ja) 通信機器及びプログラム
CN112558975B (zh) 组件的代码切换方法、装置、电子设备及可读存储介质
CN109032684B (zh) 一种基于安卓系统广播插件的实现方法及终端
CN116566795A (zh) 一种微服务实例之间的依赖关系的获取方法以及相关设备
CN117149468A (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