掌桥专利:专业的专利平台
掌桥专利
首页

一种基于ANDROID手机性能分级自动执行APP优化策略的方法

文献发布时间:2023-06-19 13:26:15


一种基于ANDROID手机性能分级自动执行APP优化策略的方法

技术领域

本发明涉及IT与软件开发,更具体地,涉及基于Android手机性能分级自动执行App优化策略的方法和系统。

背景技术

安卓(Android)是Google公司在2007年推出的一个基于Linux内核的操作系统,安卓系统在手机的应用十分广泛,成为现在流行的主流的手机系统之一。目前,Android手机厂商众多,比如华为、小米、vivo、魅族等知名品牌,还有很多小厂商,这些厂商每年都会推出各种档次和性能的新款手机上市,这种极快的产品更新换代模式带来的弊端是Android手机配置差异大,不同品牌型号、不同配置、不同使用年限的Android手机带给用户的体验差异极大。

Android手机在选择锁屏、主键,菜单键打开别的App后,先前用户正在运行的App就退到了后台,Android系统并不会马上关闭这些后台的App,默认情况下,多个App将同时在后台运行。但是对于同一款功能较多、所需运行内存较大App来说,不同性能的手机给用户带来的使用体验大不相同,性能较好的手机可以体验到流畅、完整、炫酷的页面效果,但是当性能较差的手机运行该App时,就会明显感觉到页面加载过慢,页面切换卡顿等。

虽然当前已有多种技术实现适配低性能手机的App优化方式,但是这些方式仍存在一些不足:(1)多数优化方式仅从提升性能的某个方面对App进行优化,如页面分辨率、页面加载方式和页面控件加载方式等;(2)对App进行优化时并没有结合手机性能进行综合分析,导致App优化不能智能适配设备,优化结果也并不理想。

中国专利申请“一种移动App优化列表性能的方法及系统”(202010471309.4)中提出了一种移动App优化方法,其先判断APP页面待渲染元素与缓存数据标签是否相同,再决定是否对待渲染元素进行重新渲染。但是该申请仅从页面渲染方面解决页面刷新时间较长、页面卡顿等影响用户使用体验的问题,单一影响因素的解决对用户使用体验提升不明显。

中国专利申请“一种Android系统中的图片缓存优化方法”(201610397796.8)提出了一种图片缓存优化方法,其计算待缓存图片在不同网络类型条件下的传输时间和压缩因子,对图片进行压缩后再传输。但是该申请仅从网络层面考虑Android系统的内存优化,在一定程度上减少了用户等待时间,却忽视了其他因素对系统性能的影响。

因此,针对现有App优化方式无法智能化提升用户使用感受的问题,希望提供一种改进的应用程序优化方法。

发明内容

提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步的描述一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

判断手机应用程序的用户体验,除了吸引人的功能和交互之外,对应用程序性能也有较高的要求,能够带给用户良好使用感受的应用程序应该满足流畅、稳定、节省流量和耗电等特点。因此为了满足用户的期待,在应用程序的开发过程中,应避免出现卡顿、响应速度慢、用户等待时间长、无响应、手机发烫等问题。具体的应用程序优化可以通过减少UI绘制层级、优化内存、优化网络、优化页面跳转和刷新、提高代码质量等方法实现。

本发明通过构建一种基于增量算法的移动终端性能分级模型,根据应用程序使用期间上传到服务器的移动终端设备指标和应用程序性能指标数据,对移动终端性能进行分级,并为不同级别的性能配置相应的应用程序优化策略,根据相应策略向用户提供应用程序优化方法。和目前针对单一影响因素对应用程序进行优化的方法相比,本发明综合分析了多种手机终端设备指标和性能指标对应用程序运行速度的影响,并为设备提供了多方面的优化策略。此外,增量训练的模式提升了性能分级模型的分类效果和实时性,在保证了应用程序流畅性的基础上,实现“一机一策”,提高了用户使用感受。为了解说方便,以下将以Android手机为例来描述本发明的实施方式,但本领域技术人员可以理解,本发明同样适用于搭载其他操作系统的移动终端设备。

根据本发明的一个方面,提供了一种应用程序优化方法,所述方法包括:

实时获取移动终端的设备指标数据集和应用程序性能指标数据集;

将所获取的数据集输入性能分级模型以得到移动终端性能级别,其中所述性能分级模型是通过增量训练来构建并更新的;

基于所得到的移动终端性能级别来自动推荐相应的应用程序优化策略;以及

在应用程序运行时自动配置并执行所推荐的应用程序优化策略。

根据本发明的一个实施例,所述设备指标数据集包括CPU使用率、GPU使用率、内存使用率、屏幕指标、系统、品牌、机型详情、使用年限、流量、剩余电量、帧率中的一者或多者。

根据本发明的进一步实施例,所述应用程序性能指标数据集包括应用程序版本、应用程序启动时间、平均页面加载时间、卡顿次数、ANR次数中的一者或多者。

根据本发明的进一步实施例,所述性能分级模型通过以下方式来构建并更新:

获取移动终端在一时段内监控的性能指标数据集作为训练样本数据集,并且实时获取移动终端性能指标数据集作为新增训练样本数据集;

对所获取的训练样本数据集进行数值化处理和线性归一化处理;

初始化模型并且设置模型参数;

基于处理后的训练样本数据集,创建增量训练模型的训练数据集和测试数据集;

基于实时获取的新增训练样本数据集来增量训练模型;以及

输出模型评估分数,构建并更新性能分级模型。

根据本发明的进一步实施例,所述增量训练模型是LightGBM模型,并且所述增量训练是通过init_model、keep_training_booster两个参数来实现的。

根据本发明的进一步实施例,所述数值化处理和线性归一化处理进一步包括:

为非数值型特征设置优先级分级并将所述非数值型特征转换为数值型特征;以及

将所有数值型特征数据转换为0~1范围之间,其中转换公式为:

根据本发明的进一步实施例,所述方法进一步包括:应用梯度下降来最小化每个叶子的损失,沿着决策树h

F

其中y

根据本发明的进一步实施例,所述应用程序优化策略包括应用程序页面刷新、页面特效与图片清晰度、后台清理、缓存有效时间设置、过渡绘制层级中的一者或多者。

根据本发明的另一方面,提供了一种应用程序优化系统,所述系统包括:

监控及采集模块,所述监控及采集模块设于移动终端并且被配置成监控和采集所述移动终端的设备指标数据集和应用程序性能指标数据集;

性能分级模块,所述性能分级模块设于服务器端并且被配置成:

实时获取移动终端的设备指标数据集和应用程序性能指标数据集;以及

将所获取的数据集输入性能分级模型以得到移动终端性能级别,其中所述性能分级模型是通过增量训练来构建并更新的;

策略推荐模块,所述策略推荐模块设于服务器端并且被配置成基于所得到的移动终端性能级别来自动推荐相应的应用程序优化策略;以及

策略执行模块,所述策略执行模块设于移动终端并且被配置成在应用程序运行时自动配置并执行所推荐的应用程序优化策略。

根据本发明的一个实施例,所述性能分级模型通过以下方式来构建并更新:

从所述监控及采集模块获取移动终端在一时段内监控的性能指标数据集作为训练样本数据集,并且实时获取移动终端性能指标数据集作为新增训练样本数据集;

对所获取的训练样本数据集进行数值化处理和线性归一化处理;

初始化模型并且设置模型参数;

基于处理后的训练样本数据集,创建增量训练模型的训练数据集和测试数据集;

基于实时获取的新增训练样本数据集来增量训练模型;以及

输出模型评估分数,构建并更新性能分级模型。

与现有技术中的方案相比,本发明所提供的基于性能分级自动执行应用程序优化策略的方法和系统至少具有以下优点:

(1)目前Android手机终端分级侧重于硬件信息及系统版本,缺少结合手机性能和App实际运行状况进行分级的方法和应用,本发明按实际App运行要达到体验效果这一目标,来采集Android手机的设备及性能指标(含App的性能指标)进行手机终端分级,其中所有特征数据采集均为手机终端自身硬件参数及性能指标,从而实现对手机终端的准确分级;

(2)综合性优化App,用户体验佳。目前App优化技术只是在开发中针对单一方面提升性能的状况,如页面分辨率、页面加载方式和页面控件加载方式等,无综合性、多方面协调提升用户感受。本发明综合考虑手机App流畅性的多个因素,并建立分类模型,推荐执行App优化,让用户达到最佳体验;

(3)本发明通过增量训练的模式提升了性能分级模型的分类效果和实时性,可作为一种Android手机端App开发的通用插件,优化App性能,让不同品牌型号、不同配置、不同性能的手机用户享受最佳的用户体验。

通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。

附图说明

为了能详细地理解本发明的上述特征所用的方式,可以参照各实施例来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中示出。然而应该注意,附图仅示出了本发明的某些典型方面,故不应被认为限定其范围,因为该描述可以允许有其它等同有效的方面。

图1是根据本发明的一个实施例的基于Android手机性能分级自动执行应用程序优化策略的系统的示例架构图。

图2是根据本发明的一个实施例的基于Android手机性能分级自动执行应用程序优化策略的方法的流程图。

图3是根据本发明的一个实施例的利用增量训练来构建并更新性能分级模型的方法的流程图。

具体实施方式

下面结合附图详细描述本发明,本发明的特点将在以下的具体描述中得到进一步的显现。

图1是根据本发明的一个实施例的基于Android手机性能分级自动执行应用程序优化策略的系统100的示例架构图。如图1中所示,本发明的系统100至少包括四个核心模块:监控及采集模块101、性能分级模块102、策略推荐模块103和策略执行模块104。

监控及采集模块101设在Android手机端,用于对移动终端的设备指标和App性能指标进行采集,作为训练样本,其中设备指标包括但不限于CPU使用率、GPU使用率、内存使用率、屏幕指标、系统、品牌、机型详情、使用年限、流量、剩余电量、帧率等,App性能指标包括但不限于App版本、App启动时间、平均页面加载时间、卡顿次数、ANR次数等。所收集的两项指标信息被上传至服务器并且组成训练样本。

性能分级模块102设于服务器端,用于根据在移动终端所监控到的设备指标、APP性能指标等特征信息组成的训练样本,利用增量式lightGBM算法,建立Android手机性能分级模型以分析用户当前手机端的性能情况。作为一个示例,Android手机设备被分为高端(性能极佳)、中端(性能一般)和低端(性能较差)三级。

策略推荐模块103设于服务器端,用于根据Android手机性能的不同级别来推荐不同的App优化策略,其中优化策略包括例如App页面刷新、页面特效与图片清晰度、后台清理、缓存有效时间设置、过渡绘制层级等。作为一个示例,优化策略的具体优化方法如下表1所示:

表1:Android App优化策略

在表1中,第一刷新率(移动终端默认刷新率)大于第二刷新率,例如在手机性能较差的情况下,可将移动终端的第一刷新率降至第二刷新率。此外,页面特效与图片清晰度从特效和高清图、去特效和一般图、缩略图格式逐渐降低。

策略执行模块104设于Android手机端,用于接收服务器端策略推荐模块103所返回的App优化策略,当App启动和使用时,自动为其配置相应的策略。

图2是根据本发明的一个实施例的基于Android手机性能分级自动执行应用程序优化策略的方法200的流程图。

方法200开始于步骤201,设于服务器端的性能分级模块102实时获取移动终端的设备指标数据集和应用程序性能指标数据集,指标包括:CPU使用率、GPU使用率、内存使用率、屏幕指标、系统、品牌、机型详情、使用年限、流量、剩余电量、帧率、卡顿次数、ANR次数、App版本、App启动时间、平均页面加载时间等特征。

在步骤202,设于服务器端的性能分级模块102将所获取的性能指标数据集输入性能分级模型以得到移动终端性能级别,其中性能分级模型是通过增量训练来构建并更新的。在图3中对性能分级模型的构建和更新进行了进一步描述。

在步骤203,设于服务器端的策略推荐模块103基于所得到的移动终端性能级别来自动推荐相应的应用程序优化策略。根据一个实施例,增量式lightGBM模型根据收集到的特征数据对移动终端进行性能分级后,策略推荐模块103根据移动终端性能级别分级结果推荐App优化策略,其中优化策略包括例如App页面刷新率、页面加载图片的清晰度、页面缓存有效时长和页面绘制层级等。在一些情形中,策略推荐模块103可根据手机GPU性能和手机剩余电量自动推荐App页面刷新率,根据手机剩余运行内存大小自动推荐页面图片加载方式以及判断是否向用户推送清理后台通知,根据手机页面加载时间自动设定手机App缓存数据保存时间以及过渡绘制层级数。

在步骤204,设于Android手机端的策略执行模块104在应用程序运行时自动配置并执行所推荐的应用程序优化策略。

图3是根据本发明的一个实施例的利用增量训练来构建并更新性能分级模型的方法300的流程图。方法300开始于步骤301,获取移动终端在一时段(例如,3个月)内监控的设备指标和应用程序性能指标历史数据集作为训练样本数据集,并且实时获取移动终端性能指标数据集作为新增训练样本数据集,其中该数据集按一定比例(例如,7:3)被拆分为训练集和测试集两个部分。

在步骤302,对所获取的移动终端性能指标历史数据集进行数值化处理和线性归一化处理。首先为非数值型特征设置优先级分级并将其转换为数值型特征,其中非数值型特征包括例如屏幕指标、系统、机型详情等,再将所有数值型特征数据转换为0~1范围之间,达到加快模型训练速度和改善模型训练精度的作用,转换公式如下:

在步骤303,初始化模型,并且设置模型参数。模型参数包括目标函数、评估函数、提升类型boosting_type、学习速率learning_rate、每片叶子数据的最少数量min_data、叶子节点数num_leaves、最大学习深度max_depth等,其中在模型参数设置过程中,为了防止过拟合,需要满足num_leaves≤2

在步骤304,流式读取数据。基于在步骤302归一化处理后的历史数据集,创建增量训练模型的训练数据集和测试数据集。作为一个示例,增量训练模型可以是LightGBM模型。

在步骤305,增量训练模型。基于在步骤301实时获取的新增训练样本数据集,通过例如init_model、keep_training_booster两个参数实现增量训练,保证模型分类的准确性。

在步骤306,输出模型评估分数,实现性能分级,其中应用梯度下降来最小化每个叶子的损失,方法是沿着决策树h

F

其中y

以上所已经描述的内容包括所要求保护主题的各方面的示例。当然,出于描绘所要求保护主题的目的而描述每一个可以想到的组件或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,所要求保护主题的许多进一步的组合和排列都是可能的。从而,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的变更、修改和变化。

相关技术
  • 一种基于ANDROID手机性能分级自动执行APP优化策略的方法
  • 一种基于Android的Native APP融合Web APP开发系统
技术分类

06120113675022