CN109656708B - Android的动画播放限制方法、存储介质、电子设备及系统 - Google Patents

Android的动画播放限制方法、存储介质、电子设备及系统 Download PDF

Info

Publication number
CN109656708B
CN109656708B CN201710935888.1A CN201710935888A CN109656708B CN 109656708 B CN109656708 B CN 109656708B CN 201710935888 A CN201710935888 A CN 201710935888A CN 109656708 B CN109656708 B CN 109656708B
Authority
CN
China
Prior art keywords
animation
execution
playing
module
android
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
CN201710935888.1A
Other languages
English (en)
Other versions
CN109656708A (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710935888.1A priority Critical patent/CN109656708B/zh
Publication of CN109656708A publication Critical patent/CN109656708A/zh
Application granted granted Critical
Publication of CN109656708B publication Critical patent/CN109656708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种Android的动画播放限制方法、存储介质、电子设备及系统,涉及Android系统的动画播放设置领域。该方法的步骤为:Android系统收到动画执行请求时,将动画执行请求的总条数,作为待执行的动画数量;Android系统获取CPU的当前使用率,根据和计算得到动画数量执行上限值N;Android系统获取正在执行的所有动画数量N3,当N3<N时;Android系统播放所述动画执行队列中的动画执行请求对应的动画。本发明能够将Android系统同时播放动画的数量,控制在Android系统能够承载的范围内,以此保证Android系统的质量,进而显著提高了用户体验。

Description

Android的动画播放限制方法、存储介质、电子设备及系统
技术领域
本发明涉及Android系统的动画播放设置领域,具体涉及一种Android的动画播放限制方法、存储介质、电子设备及系统。
背景技术
在Android系统的开发过程中,会经常使用到动画特效来展示界面,通常播放动画以实现特效,会占用系统较大的资源开销。现有的Android系统播放动画的方法一般为:Android系统收到动画执行请求(即播放动画的请求)时播放动画,该方法使用时存在以下缺陷:
上述方法使用时,如同时发送多个动画执行请求,则会播放多条动画,即会出现在一幅页面上同时播放多条动画的情形,播放动画的数量较多时,所需的系统资源开销非常大,进而极大的提高了页面的负载,造成页面卡顿的情况,页面卡顿会使得动画播放不顺畅,这不仅会降低Android系统的质量,而且会严重降低用户体验。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:如何将Android系统同时播放动画的数量,控制在Android系统能够承载的范围内,以此保证Android系统的质量,不会出现页面和动画播放时卡顿的情形,进而显著提高了用户体验。
为达到以上目的,本发明提供的Android的动画播放限制方法,包括以下步骤:
S1:Android系统创建动画执行队列,Android系统收到动画执行请求时,将收到的动画执行请求加入动画执行队列,将动画执行队列中所有动画执行请求的总条数,作为待执行的动画数量N1,转到S2;
S2:Android系统获取CPU的当前使用率P,根据P和N1计算得到动画数量执行上限值N,N=N1/P-N1,N取整数,转到S3;
S3:Android系统获取正在执行的所有动画数量N3,当N3<N时,转到S4;
S4:Android系统播放所述动画执行队列中的动画执行请求对应的动画。
在上述技术方案的基础上,S4中所述Android系统播放动画的数量定义为N4,N4=N-N3。
在上述技术方案的基础上,S1中将收到的动画执行请求加入动画执行队列的流程包括:将收到的动画执行请求标记优先级后加入动画执行队列;S4的流程包括:Android系统根据所述动画执行队列中的动画执行请求的优先级,播放与动画执行请求对应的动画。
本发明提供的存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述Android的动画播放限制方法。
本发明提供的电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述Android的动画播放限制方法。
本发明提供的Android的动画播放限制系统,包括设置于Android系统上的动画执行队列设置模块、动画数量执行上限值计算模块、执行动画数量监测模块和动画播放模块;
动画执行队列设置模块用于创建动画执行队列,收到动画执行请求时,将收到的动画执行请求加入动画执行队列,将动画执行队列中所有动画执行请求的总条数,作为待执行的动画数量N1,向动画数量执行上限值计算模块发送动画数量执行上限值计算信号;
动画数量执行上限值计算模块用于:收到动画数量执行上限值计算信号后,获取CPU的当前使用率P,根据P和N1计算得到动画数量执行上限值N,N=N1/P-N1,N取整数,向执行动画数量监测模块发送执行动画数量监测信号;
执行动画数量监测模块用于:收到执行动画数量监测信号后,获取正在执行的所有动画数量N3,当N3<N时,向动画播放模块发送动画播放信号;
动画播放模块用于:收到动画播放信号后,播放所述动画执行队列中的动画执行请求对应的动画。
在上述技术方案的基础上,所述动画播放模块播放动画的数量定义为N4,N4=N-N3。
在上述技术方案的基础上,所述动画执行队列设置模块将收到的动画执行请求加入动画执行队列的流程包括:将收到的动画执行请求标记优先级后加入动画执行队列;所述动画播放模块的流程包括:根据所述动画执行队列中的动画执行请求的优先级,播放与动画执行请求对应的动画。
与现有技术相比,本发明的优点在于:
参见本发明S1可知,本发明通过动画执行队列的将所有动画执行请求进行缓存,若动画执行请求无法执行需要等待时,无需在等待后重新发起,只需在动画执行队列中提取即可,其操作流程比较简单,提高了工作效率。
参见本发明S2可知,本发明在计算动画数量执行上限值时,充分考虑到了CPU的当前使用率P和待执行的动画数量N1两个因素。P代表着资源开销,在N1不变的情况下,P越大,系统的资源开销越大,此时动画数量执行上限值N越小;P越小,系统的资源开销越小,此N越大。N1代表着用户需求,在P不变的情况下,N1越大,N越大,N1越小,N越小。本发明将P和N1结合,对应着将CPU的当前使用率与用户需求相结合来计算动画数量执行上限值,因此本发明的动画数量执行上限值设置的非常合理,在符合系统的工作需求的同时匹配了用户需求。
在上述基础上,参见本发明S1至S4可知,本发明能够将Android系统同时播放动画的数量,控制在CPU能够承载的范围内,以此保证Android系统的质量,不会出现页面和动画播放时卡顿的情形,进而显著提高了用户体验。
(2)参见本发明S3和S4可知,本发明在能够播放动画时,不是播放一条动画,而是根据正在执行的所有动画数量,和动画数量执行上限值计算出能够播放动画的最大数量后,根据最大数量同时播放多条动画(同时播放并不是同一时刻开始播放,而是指第一条还未播放完成,第二条就已经开始播放,此时则会有2条动画正在播放这种情形),进而最大化利用了系统资源,也提高了播放质量。
(3)参见本发明S1和S4可知,本发明为动画执行队列中的每条动画执行请求均设置有优先级,进而使得能够根据优先级顺序播放动画,以此实现动画播放井然有序的效果,提高了播放质量。
附图说明
图1为本发明实施例中Android的动画播放限制方法的流程图;
图2为本发明实施例中电子设备的连接框图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例中的Android的动画播放限制方法,包括以下步骤:
S1:Android系统创建动画执行队列,Android系统收到动画执行请求时,将收到的动画执行请求标记优先级后加入动画执行队列,将动画执行队列中所有动画执行请求的总条数,作为待执行的动画数量N1(N1至少是1,不可能为0),转到S2。
S1中设置动画执行队列的目的为:将所有动画执行请求进行缓存,若动画执行请求无法执行需要等待时,无需在等待后重新发起,只需在动画执行队列中提取即可,其操作流程比较简单,提升了用户体验。
S2:Android系统获取CPU的当前使用率P,根据P和N1计算得到动画数量执行上限值N,N=N1/P-N1,N取整数,N为非整数(即整数部分、小数部分和小数点组成的小数)时,可以按照四舍五入的方式将N取整,或者舍弃小数点之后的数值取整数,转到S3。
参见S2可知,本发明实施例在计算动画数量执行上限值时,充分考虑到了CPU的当前使用率P和待执行的动画数量N1两个因素。P代表着资源开销,在N1不变的情况下,P越大,系统的资源开销越大,此时动画数量执行上限值N越小;P越小,系统的资源开销越小,此N越大。N1代表着用户需求,在P不变的情况下,N1越大,N越大,N1越小,N越小。本发明实施例将P和N1结合,对应着将CPU的当前使用率与用户需求相结合来计算动画数量执行上限值,因此本发明实施例的动画数量执行上限值设置的非常合理,在符合系统的工作需求的同时匹配了用户需求,进而提高了用户体验。
S2中获取CPU的使用率时,调用Android系统中的top命令来进行监听到,具体为:通过Runtime类中的exec方法来执行linux系统中的top命令,进而调用Android系统返回CPU使用率的相关信息result。通过BufferedReader类来读取result中的内容后,通过循环的方式调用BufferedReader类中的readLine方法来逐行读取result中的内容信息,调用contains("%")方法来判定当前行是否有百分比的标示符,若是,则表明该行是包含了CPU使用率的相关信息的。然后对该行使用split("%")方法来分离出所有CPU使用率的相关信息,在分离出的结果数组中的一个数据就是Android系统当前的CPU使用率。
S3:Android系统获取正在执行的所有动画数量N3,判断是否N3<N,若是,转到S4,否则证明正在执行的所有动画数量以达到动画数量执行上限值,此时动画执行请求无法被执行,需要等待正在执行的动画播完完成后重新执行S3。
S4:Android系统播放S1中动画执行队列的动画执行请求对应的动画:Android系统根据S1中动画执行队列中的动画执行请求的优先级,播放与动画执行请求对应的动画(即优先级高的先播放,优先级低的后播放),播放的动画数量N4=N-N3。
参见S1和S4可知,本发明实施例为动画执行队列中的每条动画执行请求均设置有优先级,进而使得能够根据优先级顺序播放动画,以此实现动画播放井然有序的效果,提高了播放质量。与此同时,参见S3和S4可知,本发明实施例在能够播放动画时,不是播放一条动画,而是根据正在执行的所有动画数量,和动画数量执行上限值计算出能够播放动画的最大数量后,根据最大数量同时播放多条动画(同时播放并不是同一时刻开始播放,而是指第一条还未播放完成,第二条就已经开始播放,此时则会有2条动画正在播放这种情形),进而最大化利用了系统资源,也提高了播放质量。
参见S1至S4可知,本发明实施例能够将Android系统同时播放动画的数量,控制在CPU能够承载的范围内,以此保证Android系统的质量,不会出现页面和动画播放时卡顿的情形,进而显著提高了用户体验。
本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述Android的动画播放限制方法。需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
参见图2所示,本发明实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述Android的动画播放限制方法。
本发明实施例中的Android的动画播放限制系统,包括设置于Android系统上的动画执行队列设置模块、动画数量执行上限值计算模块、执行动画数量监测模块和动画播放模块。
动画执行队列设置模块用于创建动画执行队列,收到动画执行请求时,将收到的动画执行请求加入动画执行队列,将动画执行队列中所有动画执行请求的总条数,作为待执行的动画数量N1,向动画数量执行上限值计算模块发送动画数量执行上限值计算信号。
动画数量执行上限值计算模块用于:收到动画数量执行上限值计算信号后,获取CPU的当前使用率P,根据P和N1计算得到动画数量执行上限值N,N=N1/P-N1,N取整数,向执行动画数量监测模块发送执行动画数量监测信号。
执行动画数量监测模块用于:收到执行动画数量监测信号后,获取正在执行的所有动画数量N3,当N3<N时,向动画播放模块发送动画播放信号,当N3≥N时,重新开始工作。
动画播放模块用于:收到动画播放信号后,播放所述动画执行队列中的动画执行请求对应的动画:将收到的动画执行请求标记优先级后加入动画执行队列;所述动画播放模块的流程包括:根据所述动画执行队列中的动画执行请求的优先级,播放与动画执行请求对应的动画;播放动画的数量定义为N4,N4=N-N3。
需要说明的是:本发明实施例提供的系统在进行模块间通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (6)

1.一种Android的动画播放限制方法,其特征在于,该方法包括以下步骤:
S1:Android系统创建动画执行队列,Android系统收到动画执行请求时,将收到的动画执行请求加入动画执行队列,将动画执行队列中所有动画执行请求的总条数,作为待执行的动画数量N1,转到S2;
S2:Android系统获取CPU的当前使用率P,根据P和N1计算得到动画数量执行上限值N,N=N1/P-N1,N取整数,转到S3;
S3:Android系统获取正在执行的所有动画数量N3,当N3<N时,转到S4;
S4:Android系统播放所述动画执行队列中的动画执行请求对应的动画;
S4中所述Android系统播放动画的数量定义为N4,N4=N-N3;
S3还包括以下步骤:当N3≥N时,重新执行S3。
2.如权利要求1所述的Android的动画播放限制方法,其特征在于,S1中将收到的动画执行请求加入动画执行队列的流程包括:将收到的动画执行请求标记优先级后加入动画执行队列;S4的流程包括:Android系统根据所述动画执行队列中的动画执行请求的优先级,播放与动画执行请求对应的动画。
3.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1或2所述的方法。
4.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:处理器执行计算机程序时实现权利要求1或2所述的方法。
5.一种Android的动画播放限制系统,其特征在于,该系统包括设置于Android系统上的动画执行队列设置模块、动画数量执行上限值计算模块、执行动画数量监测模块和动画播放模块;
动画执行队列设置模块用于创建动画执行队列,收到动画执行请求时,将收到的动画执行请求加入动画执行队列,将动画执行队列中所有动画执行请求的总条数,作为待执行的动画数量N1,向动画数量执行上限值计算模块发送动画数量执行上限值计算信号;
动画数量执行上限值计算模块用于:收到动画数量执行上限值计算信号后,获取CPU的当前使用率P,根据P和N1计算得到动画数量执行上限值N,N=N1/P-N1,N取整数,向执行动画数量监测模块发送执行动画数量监测信号;
执行动画数量监测模块用于:收到执行动画数量监测信号后,获取正在执行的所有动画数量N3,当N3<N时,向动画播放模块发送动画播放信号;
动画播放模块用于:收到动画播放信号后,播放所述动画执行队列中的动画执行请求对应的动画;
所述动画播放模块播放动画的数量定义为N4,N4=N-N3;
所述执行动画数量监测模块还用于:当N3≥N时,重新获取正在执行的所有动画数量N3。
6.如权利要求5所述的Android的动画播放限制系统,其特征在于:所述动画执行队列设置模块将收到的动画执行请求加入动画执行队列的流程包括:将收到的动画执行请求标记优先级后加入动画执行队列;所述动画播放模块的流程包括:根据所述动画执行队列中的动画执行请求的优先级,播放与动画执行请求对应的动画。
CN201710935888.1A 2017-10-10 2017-10-10 Android的动画播放限制方法、存储介质、电子设备及系统 Active CN109656708B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710935888.1A CN109656708B (zh) 2017-10-10 2017-10-10 Android的动画播放限制方法、存储介质、电子设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710935888.1A CN109656708B (zh) 2017-10-10 2017-10-10 Android的动画播放限制方法、存储介质、电子设备及系统

Publications (2)

Publication Number Publication Date
CN109656708A CN109656708A (zh) 2019-04-19
CN109656708B true CN109656708B (zh) 2020-09-08

Family

ID=66108709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710935888.1A Active CN109656708B (zh) 2017-10-10 2017-10-10 Android的动画播放限制方法、存储介质、电子设备及系统

Country Status (1)

Country Link
CN (1) CN109656708B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113012027A (zh) * 2019-12-19 2021-06-22 深圳市万普拉斯科技有限公司 动画刷新请求控制方法、装置、计算机设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615160B2 (en) * 2010-06-18 2013-12-24 Adobe Systems Incorporated Media player instance throttling
US8990351B2 (en) * 2011-04-20 2015-03-24 Mobitv, Inc. Real-time processing capability based quality adaptation
CN103841342A (zh) * 2014-03-20 2014-06-04 乐视网信息技术(北京)股份有限公司 显示控制方法及其系统
CN105022601B (zh) * 2014-04-30 2018-11-06 腾讯科技(北京)有限公司 信息展示的方法及装置
CN103971272B (zh) * 2014-05-15 2017-08-01 北京视达科科技有限公司 一种智能广告投放系统及其方法
KR102255361B1 (ko) * 2014-11-18 2021-05-24 삼성전자주식회사 인텐트 처리 방법 및 그 전자 장치

Also Published As

Publication number Publication date
CN109656708A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
US9898338B2 (en) Network computer system and method for dynamically changing execution sequence of application programs
RU2599967C2 (ru) Управление жизненным циклом приложений
CN110413412B (zh) 一种基于gpu集群资源分配的方法和装置
US11010094B2 (en) Task management method and host for electronic storage device
CN106897299B (zh) 一种数据库访问方法及装置
CN106648832B (zh) 提高虚拟机资源利用率的装置及方法
US11210127B2 (en) Method and apparatus for processing request
CN104461710A (zh) 任务处理方法及装置
CN112650541B (zh) 一种应用程序启动加速方法、系统、设备及存储介质
CN107368324A (zh) 一种组件升级方法、装置和系统
CN109656708B (zh) Android的动画播放限制方法、存储介质、电子设备及系统
US20110016233A1 (en) System, method, and computer program product for inserting a gap in information sent from a drive to a host device
CN110602229A (zh) 基于动态切片的终端系统版本下载方法、装置及系统
WO2024119930A1 (zh) 调度方法、装置、计算机设备和存储介质
CN116467235B (zh) 一种基于dma的数据处理方法、装置、电子设备及介质
CN111158875B (zh) 基于多模块的多任务处理方法、装置及系统
CN109558210B (zh) 一种虚拟机应用主机gpu设备的方法及系统
CN110955388A (zh) 一种存储服务器及其数据存储方法、装置和存储介质
CN110825326A (zh) 提升ssd随机读性能的方法、装置、计算机设备及存储介质
CN115981893A (zh) 消息队列任务处理方法、装置、服务器及存储介质
US10528397B2 (en) Method, device, and non-transitory computer readable storage medium for creating virtual machine
CN114003388A (zh) 大数据计算引擎任务参数确定方法及装置
CN108920722B (zh) 一种参数配置的方法、装置及计算机存储介质
US11307974B2 (en) Horizontally scalable distributed system for automated firmware testing and method thereof
CN114490374A (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
GR01 Patent grant
GR01 Patent grant