CN106095587B - 应用程序的缓存扫描方法、装置及电子设备 - Google Patents

应用程序的缓存扫描方法、装置及电子设备 Download PDF

Info

Publication number
CN106095587B
CN106095587B CN201610474631.6A CN201610474631A CN106095587B CN 106095587 B CN106095587 B CN 106095587B CN 201610474631 A CN201610474631 A CN 201610474631A CN 106095587 B CN106095587 B CN 106095587B
Authority
CN
China
Prior art keywords
scanning
application program
application programs
scanned
equal
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
Application number
CN201610474631.6A
Other languages
English (en)
Other versions
CN106095587A (zh
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.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software 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 Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201610474631.6A priority Critical patent/CN106095587B/zh
Publication of CN106095587A publication Critical patent/CN106095587A/zh
Priority to PCT/CN2017/087632 priority patent/WO2017219869A1/zh
Priority to US16/053,923 priority patent/US10802939B2/en
Application granted granted Critical
Publication of CN106095587B publication Critical patent/CN106095587B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • 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]
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种应用程序的缓存扫描方法、装置及电子设备,能够解决现有技术中扫描获取应用程序的总缓存大小耗费时间很长的问题。所述方法包括:获取待扫描的应用程序列表;查询应用程序列表中每个应用程序的扫描历史记录;根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描;对应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取必须扫描的应用程序的缓存大小;对应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取非必须扫描的应用程序的缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描。本发明适用于扫描获取应用程序的总缓存大小。

Description

应用程序的缓存扫描方法、装置及电子设备
技术领域
本发明涉及缓存清理技术领域,尤其涉及一种应用程序的缓存扫描方法、装置及电子设备。
背景技术
通常,用户在手机上安装应用程序之后,手机上会存在应用程序的缓存,占用了手机的存储空间。为了节省手机的存储空间,用户通常会选择进行缓存清理。手机在清理应用程序的缓存时,首先扫描获取应用程序的总缓存大小,扫描结束后再对缓存进行清理。
目前,手机扫描获取应用程序的总缓存大小采用如下方式:
根据安卓系统手机上已安装的应用程序列表,针对每个应用程序逐个调用getPackageSizeInfo函数来获取该应用程序的缓存大小,最后将每个应用程序的缓存大小相加得到总缓存大小。
由于每调用getPackageSizeInfo函数一次,手机内部会同步处理一个请求,当用户手机上安装的应用程序个数很多时,所耗费的扫描时间将会特别长。
发明内容
有鉴于此,本发明实施例提供一种应用程序的缓存扫描方法、装置及电子设备,能够缩短扫描获取应用程序的总缓存大小时所耗费的时长。
第一方面,本发明实施例提供一种应用程序的缓存扫描方法,包括:
获取待扫描的应用程序列表;
查询所述应用程序列表中每个应用程序的扫描历史记录;
根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描;
对所述应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述必须扫描的应用程序的缓存大小;
对所述应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述非必须扫描的应用程序的缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描。
结合第一方面,在第一方面的第一种实施方式中,所述扫描历史记录包括上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描包括:
确定不存在扫描历史记录的应用程序优先扫描,且必须扫描;
比较上次扫描缓存大小大于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;
比较已连续跳过扫描次数大于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;
比较距离上次扫描时间大于预定时间间隔的应用程序,距离上次扫描时间大的优先扫描,且必须扫描,若多个应用程序的距离上次扫描时间相等则优先级相等;
比较上次扫描缓存大小小于或等于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且非必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;
比较已连续跳过扫描次数小于或等于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且非必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;
确定除上述应用程序之外的应用程序优先级相等,且非必须扫描。
结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,在所述根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描之后,所述方法还包括:
按照扫描优先级从高到低的顺序对所述待扫描的应用程序列表进行排序。
结合第一方面的第二种实施方式,在第一方面的第四种实施方式中,所述方法还包括:
在结束扫描之后,根据本次扫描结果对每个应用程序的上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数进行更新。
结合第一方面,在第一方面的第五种实施方式中,所述查询所述应用程序列表中每个应用程序的扫描历史记录包括:根据每个应用程序的包名,查询与包名对应的扫描历史记录。
第二方面,本发明实施例提供一种应用程序的缓存扫描装置,包括:
获取单元,用于获取待扫描的应用程序列表;
查询单元,用于查询所述应用程序列表中每个应用程序的扫描历史记录;
确定单元,用于根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描;
第一扫描单元,用于对所述应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述必须扫描的应用程序的缓存大小;
第二扫描单元,用于对所述应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述非必须扫描的应用程序的缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描。
结合第二方面,在第二方面的第一种实施方式中,所述扫描历史记录包括上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数。
结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述确定单元,用于确定不存在扫描历史记录的应用程序优先扫描,且必须扫描;比较上次扫描缓存大小大于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;比较已连续跳过扫描次数大于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;比较距离上次扫描时间大于预定时间间隔的应用程序,距离上次扫描时间大的优先扫描,且必须扫描,若多个应用程序的距离上次扫描时间相等则优先级相等;比较上次扫描缓存大小小于或等于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且非必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;比较已连续跳过扫描次数小于或等于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且非必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;确定除上述应用程序之外的应用程序优先级相等,且非必须扫描。
结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述装置还包括:
排序单元,用于在所述确定单元根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描之后,按照扫描优先级从高到低的顺序对所述待扫描的应用程序列表进行排序。
结合第二方面的第二种实施方式,在第二方面的第四种实施方式中,所述装置还包括:
更新单元,用于在结束扫描之后,根据本次扫描结果对每个应用程序的上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数进行更新。
结合第二方面,在第二方面的第五种实施方式中,所述查询单元,用于根据每个应用程序的包名,查询与包名对应的扫描历史记录。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的应用程序的缓存扫描方法。
本发明实施例提供的一种应用程序的缓存扫描方法、装置及电子设备,根据待扫描的应用程序列表中每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描,先对应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描并获取缓存大小,然后对应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描并获取缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描。与现有技术相比,本发明能够在扫描完必须扫描的应用程序之后,可以根据情况随时停止扫描非必须扫描的应用程序并结束扫描,从而能够在不明显影响最终扫描结果的同时缩短扫描所耗费的时长。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明应用程序的缓存扫描方法实施例一的流程图;
图2为本发明应用程序的缓存扫描方法实施例二的流程图;
图3为本发明应用程序的缓存扫描装置实施例一的结构示意图;
图4为本发明应用程序的缓存扫描装置实施例二的结构示意图;
图5为本发明电子设备实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明应用程序的缓存扫描方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
步骤11、获取待扫描的应用程序列表。
本实施例中,通过调用系统接口获取电子设备上已安装的应用程序列表,该应用程序列表中包括每个应用程序的包名。
步骤12、查询所述应用程序列表中每个应用程序的扫描历史记录。
本实施例中,电子设备上创建有数据库,用于存储包名及对应的扫描历史记录。数据库中存储的包名与所述应用程序列表中的包名是相对应的。根据每个应用程序的包名,在所述数据库中可以查询到与包名对应的扫描历史记录,从而可以得到每个应用程序的扫描历史记录。
其中,所述扫描历史记录包括上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数。
其中,对于某个应用程序,其已连续跳过扫描次数在扫描完成后重置为0,每次跳过扫描时该值加1。
步骤13、根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描。
本实施例中,按照如下方式依次确定每个应用程序的扫描优先级及是否必须扫描:
确定不存在扫描历史记录的应用程序优先扫描,且必须扫描;
比较上次扫描缓存大小大于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;其中,所述预定缓存大小为最大可跳过扫描的上次扫描缓存大小,也即上一次扫描结果大于该值时必须扫描,可以设置为32kb;
比较已连续跳过扫描次数大于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;其中,所述预定次数为最大可连续跳过扫描的次数,默认为3次;
比较距离上次扫描时间大于预定时间间隔的应用程序,距离上次扫描时间大的优先扫描,且必须扫描,若多个应用程序的距离上次扫描时间相等则优先级相等;其中,所述预定时间间隔为最大可跳过扫描的时间间隔,也即距离上一次的扫描时间大于该值时必须扫描,可以设置为7天;
比较上次扫描缓存大小小于或等于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且非必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;
比较已连续跳过扫描次数小于或等于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且非必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;
确定除上述应用程序之外的应用程序优先级相等,且非必须扫描。
步骤14、对所述应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述必须扫描的应用程序的缓存大小;
本实施例中,对于安装有安卓系统的电子设备,在扫描应用程序时,可以通过调用getPackageSizeInfo函数来获取应用程序的缓存大小。
步骤15、对所述应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述非必须扫描的应用程序的缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描。
本实施例中,在扫描应用程序列表中非必须扫描的应用程序时,首先判断是否达到预定扫描时长,若达到,则结束扫描;否则判断是否满足预定扫描停止条件,若达到,则结束扫描;否则获取所述非必须扫描的应用程序的缓存大小。
其中,所述预定扫描时长可以设置为10秒。
本实施例,根据待扫描的应用程序列表中每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描,先对应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描并获取缓存大小,然后对应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描并获取缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描。与现有技术相比,本发明能够在扫描完必须扫描的应用程序之后,可以根据情况随时停止扫描非必须扫描的应用程序并结束扫描,从而能够在不明显影响最终扫描结果的同时缩短扫描所耗费的时长。
图2为本发明应用程序的缓存扫描方法实施例二的流程图,如图2所示,本实施例的方法可以包括:
步骤21、获取待扫描的应用程序列表。
本实施例中,获取待扫描的应用程序列表的过程和上述方法实施例的步骤11类似,此处不再赘述。
步骤22、查询所述应用程序列表中每个应用程序的扫描历史记录。
本实施例中,查询所述应用程序列表中每个应用程序的扫描历史记录的过程和上述方法实施例的步骤12类似,此处不再赘述。
步骤23、根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描。
本实施例中,根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描的过程和上述方法实施例的步骤13类似,此处不再赘述。
步骤24、按照扫描优先级从高到低的顺序对所述待扫描的应用程序列表进行排序。
本实施例中,对于扫描优先级相等的多个应用程序,将原顺序在前的应用程序排在前面。
步骤25、对所述应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述必须扫描的应用程序的缓存大小。
本实施例中,对所述应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述必须扫描的应用程序的缓存大小的过程和上述方法实施例的步骤14类似,此处不再赘述。
步骤26、对所述应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述非必须扫描的应用程序的缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描。
本实施例中,对所述应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述非必须扫描的应用程序的缓存大小的过程和上述方法实施例的步骤15类似,此处不再赘述。
步骤27、在结束扫描之后,根据本次扫描结果对每个应用程序的上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数进行更新。
本实施例中,根据每个应用程序扫描得到的缓存大小、本次扫描时间、本次扫描是否跳过,对数据库中存储的与该应用程序对应的上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数进行更新,以便在下次扫描时使用。
本实施例,根据待扫描的应用程序列表中每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描,先对应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描并获取缓存大小,然后对应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描并获取缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描,并在结束扫描之后,根据本次扫描结果对每个应用程序的上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数进行更新。与现有技术相比,本发明能够在扫描完必须扫描的应用程序之后,可以根据情况随时停止扫描非必须扫描的应用程序并结束扫描,从而能够在不明显影响最终扫描结果的同时缩短扫描所耗费的时长;此外,每次扫描结束之后对扫描历史记录进行更新以便在下次扫描时进行使用,从而能够保证扫描的准确性。
图3为本发明应用程序的缓存扫描装置实施例一的结构示意图,如图3所示,本实施例的装置可以包括:获取单元11、查询单元12、确定单元13、第一扫描单元14、第二扫描单元15,其中,获取单元11,用于获取待扫描的应用程序列表;查询单元12,用于查询所述应用程序列表中每个应用程序的扫描历史记录;确定单元13,用于根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描;第一扫描单元14,用于对所述应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述必须扫描的应用程序的缓存大小;第二扫描单元15,用于对所述应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述非必须扫描的应用程序的缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
可选地,所述扫描历史记录包括上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数。
进一步地,所述确定单元13,用于确定不存在扫描历史记录的应用程序优先扫描,且必须扫描;比较上次扫描缓存大小大于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;比较已连续跳过扫描次数大于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;比较距离上次扫描时间大于预定时间间隔的应用程序,距离上次扫描时间大的优先扫描,且必须扫描,若多个应用程序的距离上次扫描时间相等则优先级相等;比较上次扫描缓存大小小于或等于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且非必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;比较已连续跳过扫描次数小于或等于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且非必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;确定除上述应用程序之外的应用程序优先级相等,且非必须扫描。
图4为本发明应用程序的缓存扫描装置实施例二的结构示意图,如图4所示,本实施例的装置在图3所示装置结构的基础上,进一步地,所述装置还包括:
排序单元16,用于在所述确定单元13根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描之后,按照扫描优先级从高到低的顺序对所述待扫描的应用程序列表进行排序。
进一步地,所述装置还包括:
更新单元17,用于在结束扫描之后,根据本次扫描结果对每个应用程序的上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数进行更新。
可选地,所述查询单元12,用于根据每个应用程序的包名,查询与包名对应的扫描历史记录。
本实施例的装置,可以用于执行图1或图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图5为本发明电子设备实施例的结构示意图,可以实现本发明图1或图2所示实施例的流程,如图5所示,上述电子设备可以包括:壳体31、处理器32、存储器33、电路板34和电源电路35,其中,电路板34安置在壳体31围成的空间内部,处理器32和存储器33设置在电路板34上;电源电路35,用于为上述电子设备的各个电路或器件供电;存储器33用于存储可执行程序代码;处理器32通过读取存储器33中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的应用程序的缓存扫描方法。
处理器32对上述步骤的具体执行过程以及处理器32通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1或图2所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

Claims (11)

1.一种应用程序的缓存扫描方法,其特征在于,包括:
获取待扫描的应用程序列表;
查询所述应用程序列表中每个应用程序的扫描历史记录;
根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描;
对所述应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述必须扫描的应用程序的缓存大小;
对所述应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述非必须扫描的应用程序的缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描;
所述根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描包括:确定不存在扫描历史记录的应用程序优先扫描,且必须扫描;比较上次扫描缓存大小大于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;比较已连续跳过扫描次数大于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;比较距离上次扫描时间大于预定时间间隔的应用程序,距离上次扫描时间大的优先扫描,且必须扫描,若多个应用程序的距离上次扫描时间相等则优先级相等;比较上次扫描缓存大小小于或等于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且非必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;比较已连续跳过扫描次数小于或等于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且非必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;确定除上述应用程序之外的应用程序优先级相等,且非必须扫描。
2.根据权利要求1所述的应用程序的缓存扫描方法,其特征在于,所述扫描历史记录包括上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数。
3.根据权利要求1所述的应用程序的缓存扫描方法,其特征在于,在所述根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描之后,所述方法还包括:
按照扫描优先级从高到低的顺序对所述待扫描的应用程序列表进行排序。
4.根据权利要求2所述的应用程序的缓存扫描方法,其特征在于,所述方法还包括:
在结束扫描之后,根据本次扫描结果对每个应用程序的上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数进行更新。
5.根据权利要求1所述的应用程序的缓存扫描方法,其特征在于,所述查询所述应用程序列表中每个应用程序的扫描历史记录包括:根据每个应用程序的包名,查询与包名对应的扫描历史记录。
6.一种应用程序的缓存扫描装置,其特征在于,包括:
获取单元,用于获取待扫描的应用程序列表;
查询单元,用于查询所述应用程序列表中每个应用程序的扫描历史记录;
确定单元,用于根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描;
第一扫描单元,用于对所述应用程序列表中必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述必须扫描的应用程序的缓存大小;
第二扫描单元,用于对所述应用程序列表中非必须扫描的应用程序按照扫描优先级从高到低的顺序依次进行扫描,获取所述非必须扫描的应用程序的缓存大小,直至达到预定扫描时长或满足预定扫描停止条件时结束扫描;
所述确定单元,还用于确定不存在扫描历史记录的应用程序优先扫描,且必须扫描;比较上次扫描缓存大小大于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;比较已连续跳过扫描次数大于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;比较距离上次扫描时间大于预定时间间隔的应用程序,距离上次扫描时间大的优先扫描,且必须扫描,若多个应用程序的距离上次扫描时间相等则优先级相等;比较上次扫描缓存大小小于或等于预定缓存大小的应用程序,上次扫描缓存大小大的优先扫描,且非必须扫描,若多个应用程序的上次扫描缓存大小相等则优先级相等;比较已连续跳过扫描次数小于或等于预定次数的应用程序,已连续跳过扫描次数大的优先扫描,且非必须扫描,若多个应用程序的已连续跳过扫描次数相等则优先级相等;确定除上述应用程序之外的应用程序优先级相等,且非必须扫描。
7.根据权利要求6所述的应用程序的缓存扫描装置,其特征在于,所述扫描历史记录包括上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数。
8.根据权利要求6所述的应用程序的缓存扫描装置,其特征在于,所述装置还包括:
排序单元,用于在所述确定单元根据每个应用程序的扫描历史记录确定每个应用程序的扫描优先级及是否必须扫描之后,按照扫描优先级从高到低的顺序对所述待扫描的应用程序列表进行排序。
9.根据权利要求7所述的应用程序的缓存扫描装置,其特征在于,所述装置还包括:
更新单元,用于在结束扫描之后,根据本次扫描结果对每个应用程序的上次扫描缓存大小、上次扫描时间、已连续跳过扫描次数进行更新。
10.根据权利要求6所述的应用程序的缓存扫描装置,其特征在于,所述查询单元,用于根据每个应用程序的包名,查询与包名对应的扫描历史记录。
11.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一权利要求1-5所述的应用程序的缓存扫描方法。
CN201610474631.6A 2016-06-24 2016-06-24 应用程序的缓存扫描方法、装置及电子设备 Active CN106095587B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610474631.6A CN106095587B (zh) 2016-06-24 2016-06-24 应用程序的缓存扫描方法、装置及电子设备
PCT/CN2017/087632 WO2017219869A1 (zh) 2016-06-24 2017-06-08 应用程序的缓存扫描方法、装置及电子设备
US16/053,923 US10802939B2 (en) 2016-06-24 2018-08-03 Method for scanning cache of application and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610474631.6A CN106095587B (zh) 2016-06-24 2016-06-24 应用程序的缓存扫描方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN106095587A CN106095587A (zh) 2016-11-09
CN106095587B true CN106095587B (zh) 2019-12-24

Family

ID=57252734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610474631.6A Active CN106095587B (zh) 2016-06-24 2016-06-24 应用程序的缓存扫描方法、装置及电子设备

Country Status (3)

Country Link
US (1) US10802939B2 (zh)
CN (1) CN106095587B (zh)
WO (1) WO2017219869A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095587B (zh) * 2016-06-24 2019-12-24 北京金山安全软件有限公司 应用程序的缓存扫描方法、装置及电子设备
CN106598880A (zh) * 2016-12-16 2017-04-26 深圳市金立通信设备有限公司 一种缓存管理的方法及终端
CN107330067B (zh) * 2017-06-30 2019-11-26 北京金山安全软件有限公司 软件垃圾扫描方法及装置
CN109344091B (zh) * 2018-09-29 2021-03-12 武汉斗鱼网络科技有限公司 一种缓冲数组规整方法、装置、终端及可读介质
CN113722279B (zh) * 2021-08-19 2024-03-01 北京达佳互联信息技术有限公司 确定文件夹大小的方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150503A (zh) * 2011-12-07 2013-06-12 腾讯科技(深圳)有限公司 一种木马扫描方法及木马扫描装置
CN103473350A (zh) * 2013-09-24 2013-12-25 北京奇虎科技有限公司 文件处理方法及设备
US8914417B2 (en) * 2009-01-07 2014-12-16 International Business Machines Corporation Apparatus, system, and method for maintaining a context stack
CN104778411A (zh) * 2015-04-22 2015-07-15 百度在线网络技术(北京)有限公司 病毒扫描方法和病毒扫描装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4643351B2 (ja) * 2005-04-27 2011-03-02 株式会社リコー 機器及びプログラム起動方法
JP2006350780A (ja) * 2005-06-17 2006-12-28 Hitachi Ltd キャッシュ割当制御方法
US7739738B1 (en) * 2006-03-15 2010-06-15 Symantec Corporation Enabling clean file cache persistence using dual-boot detection
US8806625B1 (en) * 2012-10-02 2014-08-12 Symantec Corporation Systems and methods for performing security scans
US9292448B2 (en) * 2013-09-19 2016-03-22 Google Inc. Dynamic sizing of memory caches
CN103559299B (zh) * 2013-11-14 2017-02-15 贝壳网际(北京)安全技术有限公司 清理文件的方法、装置及移动终端
CN103714016B (zh) * 2014-01-14 2017-10-27 北京猎豹移动科技有限公司 缓存的清理方法、装置及客户端
WO2015187965A1 (en) * 2014-06-05 2015-12-10 Huawei Technologies Co., Ltd System and method for real time virtualization
CN104318157B (zh) * 2014-09-30 2017-06-27 北京金山安全软件有限公司 应用程序的扫描方法、装置及移动终端
US10235399B2 (en) * 2014-11-05 2019-03-19 Hewlett Packard Enterprise Development Lp Methods and systems for determining hardware sizing for storage array systems
CN104317952B (zh) * 2014-11-13 2017-10-13 北京奇虎科技有限公司 移动终端中存储空间的扫描方法和装置
US10255190B2 (en) * 2015-12-17 2019-04-09 Advanced Micro Devices, Inc. Hybrid cache
US10452554B2 (en) * 2016-04-08 2019-10-22 Advanced Micro Devices, Inc. Adaptive resizable cache/LCM for improved power
CN106095587B (zh) * 2016-06-24 2019-12-24 北京金山安全软件有限公司 应用程序的缓存扫描方法、装置及电子设备
US10678706B2 (en) * 2017-07-25 2020-06-09 Intel Corporation Cache memory with scrubber logic
KR102222133B1 (ko) * 2018-01-12 2021-03-03 엔에이치엔 주식회사 모바일 단말기 및 그의 어플리케이션 관리 방법과 이를 활용한 타겟 광고 제공 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914417B2 (en) * 2009-01-07 2014-12-16 International Business Machines Corporation Apparatus, system, and method for maintaining a context stack
CN103150503A (zh) * 2011-12-07 2013-06-12 腾讯科技(深圳)有限公司 一种木马扫描方法及木马扫描装置
CN103473350A (zh) * 2013-09-24 2013-12-25 北京奇虎科技有限公司 文件处理方法及设备
CN104778411A (zh) * 2015-04-22 2015-07-15 百度在线网络技术(北京)有限公司 病毒扫描方法和病毒扫描装置

Also Published As

Publication number Publication date
WO2017219869A1 (zh) 2017-12-28
CN106095587A (zh) 2016-11-09
US20190012248A1 (en) 2019-01-10
US10802939B2 (en) 2020-10-13

Similar Documents

Publication Publication Date Title
CN106095587B (zh) 应用程序的缓存扫描方法、装置及电子设备
CN106874520B (zh) 网页加载方法、装置和电子设备
CN108038398B (zh) 一种二维码解析能力测试方法、装置及电子设备
CN106599680B (zh) 一种设置应用程序权限的方法、装置及电子设备
CN111506292B (zh) 用于人机对话的语音技能跳转方法、电子设备及存储介质
CN106843635B (zh) 信息展示方法、装置和电子设备
CN106993038B (zh) 应用程序的推广方法、装置及服务器
CN112087487A (zh) 模型训练任务的调度方法、装置、电子设备及存储介质
CN110652728A (zh) 一种游戏资源管理方法、装置、电子设备及存储介质
CN107861732A (zh) 应用程序静默更新方法及装置
CN110087120B (zh) 在线列表与本地列表的同窗切换方法、及计算设备
CN110719367A (zh) 一种云手机好友推荐方法、装置、设备及存储介质
CN112698791A (zh) 一种系统磁盘的清理方法、装置、电子设备及存储介质
CN106779844B (zh) 一种获取增值业务信息的方法、装置及电子设备
CN113157756B (zh) 互动数据统计方法、装置、电子设备及存储介质
CN107562758B (zh) 一种推送信息的方法、装置及电子设备
CN114338102A (zh) 安全检测方法、装置、电子设备及存储介质
CN111782362A (zh) 一种消息任务调度方法、装置及电子设备
CN106775748B (zh) 一种锁屏切换方法、装置及电子设备
CN106383898B (zh) 聊天内容推荐方法、装置及电子设备
CN111464644A (zh) 一种数据传输方法及电子设备
CN110624243A (zh) 一种播放音乐的方法、装置和电子设备
CN106603866B (zh) 一种移动设备防盗方法、装置及电子设备
CN111857865A (zh) 一种事件型任务的处理方法、装置、电子设备及存储介质
CN110950198A (zh) 一种电梯楼层获取方法、装置和终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant