CN110737523A - 一种通过内存清理提升应用启动速度的方法及终端 - Google Patents
一种通过内存清理提升应用启动速度的方法及终端 Download PDFInfo
- Publication number
- CN110737523A CN110737523A CN201910991377.0A CN201910991377A CN110737523A CN 110737523 A CN110737523 A CN 110737523A CN 201910991377 A CN201910991377 A CN 201910991377A CN 110737523 A CN110737523 A CN 110737523A
- Authority
- CN
- China
- Prior art keywords
- memory
- terminal
- memory cleaning
- cleaning
- application
- 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
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012544 monitoring process Methods 0.000 claims abstract description 14
- 238000012163 sequencing technique Methods 0.000 claims abstract description 7
- 230000007246 mechanism Effects 0.000 claims description 20
- 238000005201 scrubbing Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种通过内存清理提升应用启动速度的方法及终端,其中通过内存清理提升应用启动速度的方法包括:A,实时监测已安装应用的启动次数和使用时长;实时监测内存清理接口是否被调用;在监测到被调用时获取终端可用内存m并跳转至B;B,基于启动次数和使用时长计算各应用的使用权重z,将各应用对应的z值进行从大到小的排序;C,判断m与终端总内存之比是否大于设定值,若是,则内存清理接口对z值排名前N1以外的应用进行清理;否则内存清理接口对z值排名前N2以外的应用进行清理。本发明能够保证在内存清理之后,用户使用较为频繁的应用以热启动的方式启动,提升了用户使用较为频繁的应用的启动速度,提升用户对终端流畅性的体验感。
Description
技术领域
本发明特别涉及一种通过内存清理提升应用启动速度的方法及终端。
背景技术
在Android原生态的***平台或者经过其他厂商定制的Android的***平台中,针对应用的内存清理机制是非常重要且已经很成熟了。其中,厂商定制的Android的***平台中内存清理实现方式,一般是在Android原生态内存清理机制之上再自建一套内存清理的逻辑。
但是,不论是在Android原生态的***平台中,或是经过其他厂商定制的Android的***平台中,操作***在针对***中已安装应用进行内存清理的时候,都是直接调用内存清理接口将所有应用杀死,并没有考虑到被杀死应用的使用次数、使用时长和智能终端的可用内存之间的关系,导致在内存清理之后,包括用户使用较为频繁在内的所有应用都是以冷启动方式启动,所有应用启动速度慢,用户体验差。
发明内容
本发明的目的在于,针对上述现有技术的不足,提供一种通过内存清理提升应用启动速度的方法及终端,通过对内存清理机制的改进,提升了用户使用较为频繁的应用的启动速度,提升用户对终端流畅性的体验感。
为解决上述技术问题,本发明所采用的技术方案是:
一种通过内存清理提升应用启动速度的方法,其特点是包括以下步骤:
步骤A,实时监测已安装应用的启动次数x和使用时长y;实时监测内存清理接口是否被调用;在监测到内存清理接口被调用时获取终端可用内存m并跳转至步骤B;
步骤B,基于启动次数和使用时长计算各应用的使用权重z,将各应用对应的z值进行从大到小的排序;
步骤C,判断m与终端总内存之比是否大于设定值p,若是,则内存清理接口对z值排名前N1以外的应用进行清理;若否,则内存清理接口对z值排名前N2以外的应用进行清理;其中,N1>N2,N1和N2根据需要设置。
借由上述方法,本发明通过对终端上所有已安装应用的启动次数、使用时长和该终端可用内存之间的综合考量,创新性地提出了一种判断该终端上的某些应用是否应当被内存清理(内存清理主要指得是操作***通过杀掉某些应用从而腾出更多的可用内存)的算法,从而让用户在使用最为频繁的应用时,该应用都能够以热启动(热启动是指当该应用在启动时,操作***的后台是存在该应用进程的;与之相对应的冷启动是指该应用在启动时,操作***的后台是没有存在该应用进程的;应用在冷启动的时候要比热启动慢许多)的方式启动,从而提升用户使用较为频繁的应用的启动速度。
作为一种优选方式,所述步骤B中,使用权重z的计算方法为:
Z=2×x+8×y。
作为一种优选方式,所述终端为基于Android操作***平台的智能终端;所述步骤A中,内存清理接口的调用来自于Android原生态的内存清理机制的触发,或是来自厂商定制的内存清理机制的触发。
基于同一个发明构思,本发明还提供了一种通过内存清理提升应用启动速度的终端,包括用于接收内存清理调用指令的内存清理接口;其特点是还包括:
应用管家服务单元:
用于实时监测已安装应用的启动次数x和使用时长y;
用于实时监测内存清理接口是否被调用;
用于在内存清理接口被调用时获取终端可用内存m并基于启动次数和使用时长计算各应用的使用权重z,将各应用对应的z值进行从大到小的排序;
所述内存清理接口还用于:
在m与终端总内存之比是否大于设定值p时,对z值排名前N1以外的应用进行清理;在m与终端总内存之比小于设定值p时,对z值排名前N2以外的应用进行清理;其中,N1>N2,N1和N2根据需要设置。
作为一种优选方式,Z=2×x+8×y。
作为一种优选方式,所述终端为基于Android操作***平台的智能终端;内存清理接口的调用来自于Android原生态的内存清理机制的触发,或是来自厂商定制的内存清理机制的触发。
作为一种优选方式,所述智能终端包括智能电视、智能机顶盒或智能手机。
与现有技术相比,本发明通过对内存清理机制的改进,能够保证在内存清理之后,用户使用较为频繁的应用能够以热启动的方式启动,提升了用户使用较为频繁的应用的启动速度,提升用户对终端流畅性的体验感。
附图说明
图1为通过内存清理提升应用启动速度的方法流程图。
图2为通过内存清理提升应用启动速度的终端结构示意图。
具体实施方式
以基于Android***平台的智能终端为例,无论是对Android原生态***平台中的内存清理机制还是其他厂商定制的Android的***平台的内存清理机制,本发明中的技术方案都是适用和可行的。本发明的基本原理是:
(1)在Android***进程system_server中新增一套逻辑“应用管家服务”,该“应用管家服务”的主要功能是自动获取Android***平台的智能终端中***已安装应用的启动次数(从Android***平台的后台切换到前台,即切换到能够被用户看得到的状态)和用户使用该应用的时长(包括应用在前台的停留时间、应用在后台播放音乐和下载的场景),一旦该应用被用户打开,那么该Android***进程则会自动获取到上述启动次数和使用时长的数据信息。
(2)无论是对Android原生态***平台中的内存清理机制还是其他厂商定制的Android的***平台的内存清理机制,它们在清理内存的时候最终都会调用到Android原生态***源码中的内存清理接口(用于杀死应用的接口),而本发明在该内存清理接口中增加了一道清理应用的拦截算法,即根据***已安装应用的启动次数、使用时长和该智能终端的可用内存来综合判断各应用是否应当被该内存清理接口杀掉。
通过上述两步的操作,本发明就能够通过对内存清理的完善,从而有针对性地清理掉用户并不经常使用的应用,一方面腾出了***的可用内存,另一方面也让用户使用最为频繁的应用没有被杀掉,从而始终让该未被杀掉的应用活跃在该智能终端的后台,用户每次都会以热启动的方式启动该应用,从而提升了该应用的启动速度。
如图1所示,通过内存清理提升应用启动速度的方法包括以下步骤:
步骤A,实时监测已安装应用的启动次数x和使用时长y;实时监测内存清理接口是否被调用;在监测到内存清理接口被调用时获取终端可用内存m并跳转至步骤B;
步骤B,基于启动次数和使用时长计算各应用的使用权重z,将各应用对应的z值进行从大到小的排序;
步骤C,判断m与终端总内存之比是否大于设定值p,若是,则内存清理接口对z值排名前N1以外的应用进行清理;若否,则内存清理接口对z值排名前N2以外的应用进行清理;其中,N1>N2,N1和N2根据需要设置。
所述步骤B中,使用权重z的计算方法为:
Z=2×x+8×y。
所述终端为基于Android操作***平台的智能终端;所述步骤A中,内存清理接口的调用来自于Android原生态的内存清理机制的触发,或是来自厂商定制的内存清理机制的触发。
如图2所示,通过内存清理提升应用启动速度的终端,包括:
应用管家服务单元:
用于实时监测已安装应用的启动次数x和使用时长y;
用于实时监测内存清理接口是否被调用;
用于在内存清理接口被调用时获取终端可用内存m并基于启动次数和使用时长计算各应用的使用权重z(如Z=2×x+8×y),将各应用对应的z值进行从大到小的排序;
内存清理接口:
用于接收内存清理调用指令;
用于在m与终端总内存之比是否大于设定值p时,对z值排名前N1以外的应用进行清理;在m与终端总内存之比小于设定值p时,对z值排名前N2以外的应用进行清理;其中,N1>N2,N1和N2根据需要设置。
所述终端为基于Android操作***平台的智能终端;内存清理接口的调用来自于Android原生态的内存清理机制的触发,或是来自厂商定制的内存清理机制的触发。
所述智能终端包括智能电视、智能机顶盒或智能手机等。
具体地,在本实施例中,例如,设定p为20%,N1为5,N2为2,应用管家服务单元根据各应用的z值进行从大到小的排序,当m大于终端设备总内存的20%时,内存清理接口将不会对z值排名前5(含)的应用进行清理;当m小于等于终端设备总内存的20%时,内存清理接口将不会对z值排名前2(含)的应用进行清理。
应用被清理了就表示该应用被终端杀掉其所有进程了,即该应用将不会存活于终端的后台;而那些用户使用较为频繁(即上述步骤C中的z值较大的)的应用将会被拦截而不被清理(如果没有此拦截算法,则所有这些应用都会被清理)。对于这些没有被清理的应用,用户在下次启动时,这些应用就会以热启动的方式启动,从而提升了这些使用较为频繁的应用的启动速度。
综上,本发明通过在内存清理接口中增加从应用管理服务单元中获取到可以被内存清理的应用的相关数据的拦截算法,确保用户经常使用的应用不被内存清理,从而提升用户开启该应用的启动速度。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是局限性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护范围之内。
Claims (7)
1.一种通过内存清理提升应用启动速度的方法,其特征在于,包括以下步骤:
步骤A,实时监测已安装应用的启动次数x和使用时长y;实时监测内存清理接口是否被调用;在监测到内存清理接口被调用时获取终端可用内存m并跳转至步骤B;
步骤B,基于启动次数和使用时长计算各应用的使用权重z,将各应用对应的z值进行从大到小的排序;
步骤C,判断m与终端总内存之比是否大于设定值p,若是,则内存清理接口对z值排名前N1以外的应用进行清理;若否,则内存清理接口对z值排名前N2以外的应用进行清理;其中,N1>N2,N1和N2根据需要设置。
2.如权利要求1所述的通过内存清理提升应用启动速度的方法,其特征在于,所述步骤B中,使用权重z的计算方法为:
Z=2×x+8×y。
3.如权利要求1所述的通过内存清理提升应用启动速度的方法,其特征在于,所述终端为基于Android操作***平台的智能终端;
所述步骤A中,内存清理接口的调用来自于Android原生态的内存清理机制的触发,或是来自厂商定制的内存清理机制的触发。
4.一种通过内存清理提升应用启动速度的终端,包括用于接收内存清理调用指令的内存清理接口;其特征在于,还包括:
应用管家服务单元:
用于实时监测已安装应用的启动次数x和使用时长y;
用于实时监测内存清理接口是否被调用;
用于在内存清理接口被调用时获取终端可用内存m并基于启动次数和使用时长计算各应用的使用权重z,将各应用对应的z值进行从大到小的排序;
所述内存清理接口还用于:
在m与终端总内存之比是否大于设定值p时,对z值排名前N1以外的应用进行清理;在m与终端总内存之比小于设定值p时,对z值排名前N2以外的应用进行清理;其中,N1>N2,N1和N2根据需要设置。
5.如权利要求4所述的通过内存清理提升应用启动速度的终端,其特征在于,Z=2×x+8×y。
6.如权利要求4所述的通过内存清理提升应用启动速度的终端,其特征在于,所述终端为基于Android操作***平台的智能终端;内存清理接口的调用来自于Android原生态的内存清理机制的触发,或是来自厂商定制的内存清理机制的触发。
7.如权利要求6所述的通过内存清理提升应用启动速度的终端,其特征在于,所述智能终端包括智能电视、智能机顶盒或智能手机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910991377.0A CN110737523A (zh) | 2019-10-18 | 2019-10-18 | 一种通过内存清理提升应用启动速度的方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910991377.0A CN110737523A (zh) | 2019-10-18 | 2019-10-18 | 一种通过内存清理提升应用启动速度的方法及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737523A true CN110737523A (zh) | 2020-01-31 |
Family
ID=69269229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910991377.0A Pending CN110737523A (zh) | 2019-10-18 | 2019-10-18 | 一种通过内存清理提升应用启动速度的方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737523A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984580A (zh) * | 2012-11-12 | 2013-03-20 | 北京奇虎科技有限公司 | 内存清理方法及*** |
CN103024538A (zh) * | 2012-11-12 | 2013-04-03 | 北京奇虎科技有限公司 | 内存管理方法及*** |
CN103092700A (zh) * | 2013-02-01 | 2013-05-08 | 华为终端有限公司 | 内存清理方法、装置和终端设备 |
CN105335099A (zh) * | 2015-09-25 | 2016-02-17 | 深圳市金立通信设备有限公司 | 一种内存清理方法及终端 |
CN106371913A (zh) * | 2015-07-21 | 2017-02-01 | 赤子城网络技术(北京)有限公司 | 内存清理方法及装置 |
CN106844045A (zh) * | 2016-12-31 | 2017-06-13 | 安徽金鼎机电装备制造有限公司 | 一种移动终端运行内存的清理方法及移动终端 |
CN107766134A (zh) * | 2017-09-26 | 2018-03-06 | 厦门美图移动科技有限公司 | 一种移动设备的***清理方法及移动设备 |
CN107844333A (zh) * | 2017-09-06 | 2018-03-27 | 努比亚技术有限公司 | 一种应用清理方法、移动终端及计算机可读存储介质 |
CN107861812A (zh) * | 2017-10-30 | 2018-03-30 | 江西博瑞彤芸科技有限公司 | 一种内存清理方法 |
CN108268322A (zh) * | 2018-02-26 | 2018-07-10 | 北京小米移动软件有限公司 | 内存优化的方法、装置及计算机可读存储介质 |
CN108804231A (zh) * | 2018-06-13 | 2018-11-13 | 奇酷互联网络科技(深圳)有限公司 | 一种内存优化方法、装置、可读存储介质及移动终端 |
US20190220216A1 (en) * | 2016-09-29 | 2019-07-18 | Huawei Technologies Co., Ltd. | Memory reclaiming method and terminal |
-
2019
- 2019-10-18 CN CN201910991377.0A patent/CN110737523A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984580A (zh) * | 2012-11-12 | 2013-03-20 | 北京奇虎科技有限公司 | 内存清理方法及*** |
CN103024538A (zh) * | 2012-11-12 | 2013-04-03 | 北京奇虎科技有限公司 | 内存管理方法及*** |
CN103092700A (zh) * | 2013-02-01 | 2013-05-08 | 华为终端有限公司 | 内存清理方法、装置和终端设备 |
CN106371913A (zh) * | 2015-07-21 | 2017-02-01 | 赤子城网络技术(北京)有限公司 | 内存清理方法及装置 |
CN105335099A (zh) * | 2015-09-25 | 2016-02-17 | 深圳市金立通信设备有限公司 | 一种内存清理方法及终端 |
US20190220216A1 (en) * | 2016-09-29 | 2019-07-18 | Huawei Technologies Co., Ltd. | Memory reclaiming method and terminal |
CN106844045A (zh) * | 2016-12-31 | 2017-06-13 | 安徽金鼎机电装备制造有限公司 | 一种移动终端运行内存的清理方法及移动终端 |
CN107844333A (zh) * | 2017-09-06 | 2018-03-27 | 努比亚技术有限公司 | 一种应用清理方法、移动终端及计算机可读存储介质 |
CN107766134A (zh) * | 2017-09-26 | 2018-03-06 | 厦门美图移动科技有限公司 | 一种移动设备的***清理方法及移动设备 |
CN107861812A (zh) * | 2017-10-30 | 2018-03-30 | 江西博瑞彤芸科技有限公司 | 一种内存清理方法 |
CN108268322A (zh) * | 2018-02-26 | 2018-07-10 | 北京小米移动软件有限公司 | 内存优化的方法、装置及计算机可读存储介质 |
CN108804231A (zh) * | 2018-06-13 | 2018-11-13 | 奇酷互联网络科技(深圳)有限公司 | 一种内存优化方法、装置、可读存储介质及移动终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092700B (zh) | 内存清理方法、装置和终端设备 | |
WO2018076755A1 (zh) | 一种升级包下发方法及装置 | |
CN103064716B (zh) | 移动终端设备快速卸载应用程序的方法 | |
CN105677477A (zh) | 一种优化应用程序资源的方法、装置及电子设备 | |
CN105468441A (zh) | 任务进程的处理方法及装置 | |
CN104142844A (zh) | 一种清理移动终端进程的方法及装置 | |
CN112331202B (zh) | 一种语音投屏方法及装置、电子设备和计算机可读存储介质 | |
CN106155789A (zh) | 一种应用冻结方法及移动终端 | |
CN109614168A (zh) | 内存优化方法及装置 | |
CN105068844A (zh) | 一种解决Android终端不开机的方法及装置 | |
CN113961346A (zh) | 数据缓存的管理与调度方法、装置、电子设备和存储介质 | |
CN111045824A (zh) | 应用控制方法、装置、电子设备以及计算机可读介质 | |
CN104462542A (zh) | 基于Android的应用软件图标的分类方法及*** | |
CN110737523A (zh) | 一种通过内存清理提升应用启动速度的方法及终端 | |
CN108509263A (zh) | 一种后台进程管理方法和*** | |
CN108958980A (zh) | 防止Activity生命周期异常的方法、电子装置及计算机可读存储介质 | |
CN111405546B (zh) | 通话异常处理方法和装置 | |
CN110602331B (zh) | 基于错误码扩展的原因定位方法、智能终端及存储介质 | |
CN112286559A (zh) | 一种车载智能终端的升级方法及装置 | |
CN108287761A (zh) | 内存回收方法及装置、终端设备及计算机可读存储介质 | |
CN107102876A (zh) | 一种应用推送的方法及装置 | |
CN111666153A (zh) | 缓存任务管理方法、终端设备及存储介质 | |
CN104216780A (zh) | 应用程序关联操作的控制方法和控制装置 | |
WO2017206620A1 (zh) | 应用程序状态设置的方法和装置 | |
CN114327817A (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 |