一种安卓系统性能优化方法、系统、装置及存储介质与流程

文档序号:30613896发布日期:2022-07-02 00:25阅读:431来源:国知局
一种安卓系统性能优化方法、系统、装置及存储介质与流程

1.本技术涉及计算机技术领域,尤其是一种安卓系统性能优化方法、系统、装置及存储介质。


背景技术:

2.随着安卓系统的版本升级,系统代码越来越庞大,导致安卓原生系统的内存消耗越来越大。从android r开始,1gb gms方案,可用内存已下降至300mb,很难满足体验需求,造成用户操作卡顿、应用闪退、在线视频播放卡顿等问题。


技术实现要素:

3.本技术的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
4.为此,本发明的目的在于提供一种高效、可靠的安卓系统性能优化方法、系统、装置及存储介质。
5.本技术实施例的另一个目的在于提供一种安卓系统性能优化系统。
6.为了达到上述技术目的,本技术实施例所采取的技术方案包括:
7.一方面,本技术实施例提供了一种安卓系统性能优化方法,包括以下步骤:
8.本技术实施例的一种安卓系统性能优化方法,包括如下步骤:修改预设参数,确定dex2oat处于未启用状态;若系统完成开机,确认执行writeback操作;根据预设后台缓存进程数量,确定释放多余的后台进程。通过该方法,能够提升系统的内存利用率,有利于提升用户体验。
9.另外,根据本技术上述实施例的安卓系统性能优化方法,还可以具有以下附加的技术特征:
10.进一步地,本技术实施例的安卓系统性能优化方法,所述修改预设参数,确定dex2oat处于未启用状态,包括如下步骤:获取当前设备的内存,判断当前设备的内存是否小于预设内存;若当前设备的内存小于预设内存,修改预设参数,确定dex2oat处于未启用状态。
11.进一步地,在本技术的一个实施例中,所述修改预设参数,确定dex2oat处于未启用状态后,包括以下步骤:修改pms包扫描机制,确定dex2oat处于未启用状态。
12.进一步地,在本技术的一个实施例中,所述修改pms包扫描机制,确定dex2oat处于未启用状态,包括:根据应用id,判断dex2oat是否通过应用端启动;若dex2oat通过应用端启动,确认将dex2oat置于未启用状态。
13.进一步地,在本技术的一个实施例中,所述根据预设后台缓存进程数量,确定释放多余的后台进程后,还包括下列步骤:释放系统界面内存;限制应用自启的广播进程。
14.进一步地,在本技术的一个实施例中,所述若系统完成开机,确认执行writeback操作,包括:若系统完成开机,记录第一时长;若第一时长等于预设等待时长,通过refreshzramwriteback接口触发writeback功能。
15.进一步地,在本技术的一个实施例中,所述通过refreshzramwriteback接口触发writeback功能前,还包括:判断当前系统是否支持zramwriteback。
16.另一方面,本技术实施例提出了一种安卓系统性能优化系统,包括:第一执行模块,用于修改预设参数,确定dex2oat处于未启用状态;第二执行模块,用于当系统完成开机,确认执行writeback操作;第三执行模块,用于根据预设后台缓存进程数量,确定释放多余的后台进程。
17.另一方面,本技术实施例提供了一种安卓系统性能优化装置,包括:
18.至少一个处理器;
19.至少一个存储器,用于存储至少一个程序;
20.当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的任一种安卓系统性能优化方法。
21.另一方面,本技术实施例提供了一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于实现上述的任一种安卓系统性能优化方法。
22.本技术实施例中的安卓系统性能优化方法,包括如下步骤:修改预设参数,确定dex2oat处于未启用状态;若系统完成开机,确认执行writeback操作;根据预设后台缓存进程数量,确定释放多余的后台进程。通过使用上述方法,能够提升系统的内存利用率,有利于提升用户体验。
附图说明
23.为了更清楚地说明本技术实施例或者现有技术中的技术方案,下面对本技术实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本技术的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
24.图1为本技术提供的安卓系统性能优化方法的一种实施例的流程示意图;
25.图2为本技术提供的安卓系统性能优化方法的一种示例的流程示意图;
26.图3为本技术提供的安卓系统性能优化方法的另一种示例的流程示意图;
27.图4为本技术提供的安卓系统性能优化方法的另一种示例的流程示意图;
28.图5为本技术提供的安卓系统性能优化系统的一种实施例的结构示意图;
29.图6为本技术提供的安卓系统性能优化装置的一种实施例的结构示意图。
具体实施方式
30.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
31.今年来,随着android系统的功能越来越多,版本不断升级,android以及内核升级过程中带来的代码越来越大,对系统的内存消耗也越来越多,导致用户可用内存越来越少,
产生操作卡顿、应用闪退、在线视频播放卡顿等严重问题。而gms认证的低端平板或相关产品,1gb小内存需求仍然很大,因此,安卓系统的1gb小内存方案的性能提升技术显得越来越重要。
32.针对上述问题,相关技术中有以下解决方案:
33.1、结合场景预判以及更细化内存管理机制,达到内存“平衡”状态,给应用提供尽可能多的内存;该方案本质上无法提升更多的可用内存,效果不明显。
34.2、使用32位arm芯片,减少内核内存占用,使得系统有更多的内存供使用;该方案的优化有限,且局限于32位。
35.3、裁剪系统,为系统减负,将产品不用的功能裁剪掉、如gms包;该方案不适用于需要过gms认证的系统。
36.4、降低画质、分辨率,通过降低显示buffer的占用,来提升可用内存;该方案降低了用户视觉体验。
37.5、禁止1gb内存方案安装第三方应用,预装轻量级应用;该方案使用场景过于局限,不适用于大部分产品。
38.6、开启zram机制,将空闲的应用程序内存swap到flash,从而节省应用内存占用;该方案中swap太多,会导致kswapd进程占用cpu高。
39.因此,本技术提出一种安卓系统性能优化方法和系统,首先将参照附图描述根据本技术实施例提出的安卓系统性能优化方法。
40.参照图1,本技术实施例中提供一种安卓系统性能优化方法,本技术实施例中的安卓系统性能优化方法,可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器中的软件等。终端可以是平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。本技术实施例中的安卓系统性能优化方法主要包括以下步骤:
41.s110:修改预设参数,确定dex2oat处于未启用状态;
42.本步骤中,通过修改预设参数,将dex2oat置于未启用状态。其中,dex2oat是一个对dex文件进行编译优化的程序,通过dex2oat编译优化后,可以提升(安装速度、启动速度),但它对低内存设备不那么友好。在一些可能的实施方式中,对于1gb的小内存设备,可用内存一般在400mb左右,短视频类相关应用本身占用300mb,此时如果还启用dex2oat(130mb+),产生系统内存不够用的情况,触发内核内存回收机制,引起kswapd进程疯狂进行cpu交换,严重占用cpu。google原生没有考虑到小内存设备的情况,启用dex2oat后,系统不但没有达到优化效果,还会引起应用根本无法运行的情况。因此,本技术通过修改预设参数,确定dex2oat处于未启用状态。具体地,通过修改虚拟机参数pm.dexopt.boot=verify,修改后用户在安装短视频类或其它相关应用时就已经完成了dex2oat预编译优化,相当于把运行时的dex2oat前置到用户安装过程。通过上述优化dex2oat策略,修改原生机制,针对1gb低内存设备,禁止dex2oat启用,从而保证前台应用能够拥有宽裕的cpu/ddr可用,提升用户体验。
43.s120:若系统完成开机,确认执行writeback操作;
44.本步骤中,若系统完成开机,执行writeback操作,释放内存。具体地,zram是给予内存压缩的块设备,通过swap机制将不常用的内存页保存到zram块设备上,然后释放不常用的页,增加可用内存,当需要用到这块内存页的时候,再去从zram块设备上读取数据到内存上。zram支持writeback功能,可以将zram中申请的物理页回写到真实的磁盘中,进一步释放内存。因此,通过zram writeback技术原理优化系统可用内存。相关技术中,android原生机制默认不使能zram writeback功能,即使使能了,触发writeback的时机非常苛刻(系统需要处于空闲状态,且24小时触发一次)。对此,通过修改writeback的触发时机,提升系统内存。在一些可能的实施方式中,当系统开机完成后,进行触发writeback,从而释放内存。通过上述方法,为应用提供更多的可用内存。
45.s130:根据预设后台缓存进程数量,确定释放多余的后台进程。
46.本步骤中,通过预设后台缓存进程数量,确定释放多余的后台进程。在一些可能的实施方式中,预设后台缓存进程数量即后台最大可保留的进程,可通过设置后台管理服务检测系统内存大小,定制预设后台缓存进程数量,通过实时监听系统可用内存来决定再优化掉几个多余的后台进程,从而保证实时前台应用进程能够获得更多的系统可用内存。具体地,预设后台缓存进程数量,可以根据用户需求进行设置,本技术并不限制预设后台缓存进程数量的具体数值。在一些可能的实施方式中,可以通过增加时间属性,周期性或定时间段地对系统的可用内存进行监听和优化,通过该方法,优化前台应用的体验。
47.可选地,本技术实施例中的安卓系统性能优化方法,所述修改预设参数,确定dex2oat处于未启用状态,包括如下步骤:
48.获取当前设备的内存,判断当前设备的内存是否小于预设内存;
49.若当前设备的内存小于预设内存,修改预设参数,确定dex2oat处于未启用状态。
50.本步骤中,通过检测当前设备的内存,在确定当前设备属于小内存设备后,执行上述步骤。对小内存设备进行内存优化,提升系统性能。
51.可选地,本技术实施例中的安卓系统性能优化方法,所述修改预设参数,确定dex2oat处于未启用状态后,包括以下步骤:
52.修改pms包扫描机制,确定dex2oat处于未启用状态。
53.本步骤中,通过修改安装系统原生pms包扫描机制,确认dex2oat处于未启用状态,从应用层面对系统进行性能的完善。
54.可选地,本技术实施例中的安卓系统性能优化方法,所述修改pms包扫描机制,确定dex2oat处于未启用状态,包括:
55.根据应用id,判断dex2oat是否通过应用端启动;
56.若dex2oat通过应用端启动,确认将dex2oat置于未启用状态。
57.本步骤中,通过修改android原生pms包扫描机制,通过检测uid来判断是否从shell端发起的dex2oat,识别到则禁止进行dex2oat,这样应用端再也无法发起dex2oat。参照图2所示,通过步骤210和步骤220,将应用运行时dex2oat策略前移到应用安装,并从框架层禁止应用自启的dex2oat,一方面减少dex2oat进程对cpu的占用消耗,另外一方面减少dex2oat的内存占用。
58.可选地,本技术实施例中的安卓系统性能优化方法,所述根据预设后台缓存进程数量,确定释放多余的后台进程后,还包括下列步骤:
59.释放系统界面内存;
60.限制应用自启的广播进程。
61.本步骤中,参照图3所示,通过优化后台管理服务系统,进行后台进程干预,不让后台进程占用太多的内存,释放更多的内存给予前台进程使用。具体地,参见步骤320,干预systemui不定时进行gc释放内存,让前台能够第一时间获取更多的内存,避免内核频繁进行内存回收,避免cpu负载频繁负荷高的情况,从而优化前台应用的体验。在一些可能的实施方式中,该过程为:如图3所示,步骤310,通过读取配置从而自动识别到当前系统为低内存设备;步骤320,对systemui进行gc释放内存;步骤330,限制后台缓存数量(多余的都会被清理掉),该实施例中,预设后台缓存进程数量设置为3;步骤340,限制流氓应用退出前台后仍有自启动的广播服务。通过上述方法,优化前台应用的体验。
62.可选地,本技术实施例中的安卓系统性能优化方法,所述若系统完成开机,确认执行writeback操作,包括:
63.若系统完成开机,记录第一时长;
64.若第一时长等于预设等待时长,通过refreshzramwriteback接口触发writeback功能。
65.本步骤中,系统完成开机后,等待一定的时间后,执行writeback操作。具体地,第一时长可以是30s,该时间用于等待cpu负载较低时进行writeback操作,可通过refreshzramwriteback接口触发writeback功能。在一些可能的实施方式中,参照图4所示,具体实现方法如下:修改原生触发writeback的时机,当系统完成开机后,并等待30s,然后实现refreshzramwriteback接口去调用zramwiteback.flushzrampages,即会调用到真实的zram writeback接口,从而实现开机完成后即触发writeback,从而使得用户很快就可以享受这优化后的内存。通过实测,zram writeback可以在1gb内存方案上优化多出60mb内存,效果明显。
66.可选地,本技术实施例中的安卓系统性能优化方法,所述通过refreshzramwriteback接口触发writeback功能前,还包括:
67.判断当前系统是否支持zramwriteback。
68.本步骤中,通过检测当前系统是否支持zramwriteback,进行后续的操作。具体地,若当前系统支持zramwriteback,通过refreshzramwriteback接口触发writeback功能。
69.通过上述描述,可以知道,本技术通过减少cpu占用率以及增加应用可获得的内存两个维度来提升系统流畅性,从而提升了用户体验。本技术中的性能优化方法,通用性强,可适用于任何android版本、硬件平台和相关产品;通过降低前台应用程序对cpu占用、io占用、可获得内存三个维度的共同作用,为前台应用程序提供充足的性能空间。
70.为了更好的对本技术所提出的方法进行描述,下面通过具体示例对该方法的效果进行阐述。参照表1,将本技术所提出的方法用于a133 android r 1gb平台,内存上获得100mb+的优化成果,内存优化提升40%,在用户体验的角度可以看到无论是小视频软件还是在线网络视频客户端、游戏体验均比优化前有了非常大的性能提升。
[0071][0072]
表1
[0073]
其次,参照附图描述根据本技术实施例提出的一种安卓系统性能优化系统。
[0074]
图5是本技术一个实施例的安卓系统性能优化系统结构示意图,该系统具体包括:
[0075]
第一执行模块510,用于修改预设参数,确定dex2oat处于未启用状态;
[0076]
第二执行模块520,用于当系统完成开机,确认执行writeback操作;
[0077]
第三执行模块530,用于根据预设后台缓存进程数量,确定释放多余的后台进程。
[0078]
可见,上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0079]
参照图6,本技术实施例提供了一种安卓系统性能优化装置,包括:
[0080]
至少一个处理器610;
[0081]
至少一个存储器620,用于存储至少一个程序;
[0082]
当所述至少一个程序被所述至少一个处理器610执行时,使得所述至少一个处理器610实现所述的安卓系统性能优化方法。
[0083]
同理,上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0084]
本技术实施例还提供了一种计算机可读存储介质,其中存储有处理器610可执行的程序,处理器610可执行的程序在由处理器610执行时用于执行上述的新风系统的控制方法。
[0085]
同理,上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0086]
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本技术的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
[0087]
此外,虽然在功能性模块的背景下描述了本技术,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,
有关每个模块的实际实现的详细讨论对于理解本技术是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本技术。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本技术的范围,本技术的范围由所附权利要求书及其等同方案的全部范围来决定。
[0088]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干程序用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0089]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行程序的定序列表,可以具体实现在任何计算机可读介质中,以供程序执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从程序执行系统、装置或设备取程序并执行程序的系统)使用,或结合这些程序执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供程序执行系统、装置或设备或结合这些程序执行系统、装置或设备而使用的装置。
[0090]
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0091]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的程序执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0092]
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
[0093]
尽管已经示出和描述了本技术的实施方式,本领域的普通技术人员可以理解:在不脱离本技术的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变
型,本技术的范围由权利要求及其等同物限定。
[0094]
以上是对本技术的较佳实施进行了具体说明,但本技术并不限于所述实施例,熟悉本领域的技术人员在不违背本技术精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1