郑州抖音代运营,郑州短视频落地陪跑,企业抖音宣传片,短视频广告片选朗创营销! 13683819778 联系我们 在线客服
谷歌发布Android性能优化范例
发布时间:2018-12-17 12:02:51 来源:郑州短视频

     如果一个操作需要24毫秒,当系统得到VSyc信号时,系统将不能正确地呈现VSYNC信号,这会导致帧丢失,然后用户将在32毫秒内看到相同的帧。
    
     在一个多层次的UI结构中,如果不可见的UI也在渲染,那么会导致一些像素区域被渲染多次,这浪费了大量的CPU和GPU资源。
    
     When we pursue more gorgeous visual effects in design, we are apt to fall into the strange circle of using more and more cascading components to achieve this visual effect.This can easily lead to a lot of performance problems, and in order to get the best performance, we must minimize the occurrenc透支额。
    
     幸运的是,我们可以设置开发人员在手机中的选项,打开显示GPU透支选项,并观察用户界面上的透支情况。
    
     蓝色、浅绿色、浅红色和深红色代表四种不同程度的透支。我们的目标是尽量减少红色透支,看到更多的蓝色区域。
    
     为了理解应用程序是如何呈现的,我们必须了解移动硬件是如何工作的,然后我们必须了解VSyc是什么。
    
     刷新率:表示屏幕刷新的次数,取决于硬件的固定参数,例如60Hz。
    
     GPU会渲染图形数据,然后硬件将负责绘制到屏幕的内容,双方继续合作。
    
     不幸的是,刷新频率和帧速率并不总是保持相同的节奏。如果帧速率和刷新频率不一致,则容易发生撕裂现象(屏幕显示内容的上下部分被破坏,来自两个不同帧的数据超过。大腿)
    
     理解图像绘制中的双重和三重缓存机制是一个复杂的概念。请到这里来。
    
     一般来说,刷新频率上的帧速率只是一个理想的情况。在超过60个FPS的情况下,由于等待VSYNC的刷新信息,GPU生成的帧数据将被保持在等待状态,从而可以在每次刷新时显示实际的新数据,但帧率往往小于刷新频率。
    
     在这种情况下,一些帧显示与前一帧相同的图像内容。坏处是帧速率突然从超过60FPs下降到低于60fps,这将导致LAG、JANK、HITCHING和其他纸箱的帧质量下降。这也是用户感觉不好的原因。
    
     性能问题非常麻烦,幸运的是我们有工具进行调试。打开电话中的开发者选项,选择Profile GPU Ren.,然后选择On screen as bar。
    
     通过这种方式,我们可以在移动屏幕上看到丰富的GPU渲染信息,包括关于StatusBar、NavBar和激活程序活动区域的GPU渲染信息。
    
     随着界面的刷新,垂直条形图将在界面上滚动以显示每帧的渲染时间。条形图越高,绘制时间越长。
    
     中间有一条绿色的水平线,代表16位女士。我们需要确保每帧花费的总时间低于这条水平线,这样我们就可以避免纸箱的问题。
    
     每个柱状线包含三个部分。蓝色表示测量显示列表的呈现所花费的时间,红色表示OpenGL呈现显示列表所花费的时间,黄色表示CPU等待GPU处理的时间。
    
     我们通常指的是60FPS和16ms,但是你知道为什么App的性能是通过程序是否达到60fps来衡量的这是因为人眼和大脑之间的协作无法感知超过60FPS的图片更新。
    
     开发应用程序的性能目标是保持60fps,这意味着每帧只有16M=100060时间来处理所有任务。
    
     了解Android如何使用GPU渲染的图像可以帮助我们更好地了解性能问题。所以一个最实际的问题是:如何活动图像被绘制在屏幕上如何识别和绘制复杂的XML布局文件
    
     栅格化栅格化是绘制按钮、形状、路径、字符串、位图等组件的最基本操作,它将这些组件拆分成不同的像素进行显示,这是一个非常耗时的操作,GPU的引入是为了加速光栅化的操作。
    
     然而,每次从CPU到GPU都是一个非常麻烦的事情,幸运的是OpenGL ES可以在GPU内存中渲染这些纹理,下次需要直接渲染时,如果你更新GPU保存的纹理内容,那么先前保存的状态就会丢失。
    
     为了使应用程序平滑,我们需要在每个帧的16Ms内处理所有CPU和GPU计算、渲染、渲染等。
    
     流畅而精致的动画是应用程序设计中最重要的元素之一。These animations can significantly enhance the user experience.The following section explains how the Android system handles the updating of UI components.
    
     一般来说,Android需要将XML布局文件转换为GPU能够识别和绘制的对象。这是在DisplayList的帮助下完成的。DisplayList保存了将呈现给GPU的所有数据信息,以便在屏幕上绘制。
    
     性能问题的一个重要方面是渲染操作太多。我们可以使用工具来检测和修复标准UI组件的透视图问题,但是对于高度定制的UI组件,这似乎有些不足。
    
     除了clipRect方法,我们还可以使用它来确定矩形是否不相交,从而跳过非矩形区域的绘制操作。
    
     虽然Android有自动内存管理机制,但是内存使用不当仍然会导致严重的性能问题。
    
     除了速度差异之外,在执行GC操作时,任何线程的任何操作都需要暂停,等待GC操作完成,然后其他操作才能继续运行。
    
     一般来说,单个GC不占用很多时间,但是大量的非停止GC操作将显著占用帧间隔时间(16MS)。如果在帧间隔中有太多GC操作,则其他类似操作如渲染的可用时间变为更少。
    
     有一种简单直观的方法来解决上述问题。如果在监视器中在短时间内看到多个内存起伏,这意味着内存抖动很可能发生。
    
     同时,我们也可以使用分配跟踪器在短时间内看到相同的对象进出同一个堆栈,这是内存抖动的典型信号之一。
    
     每个级别的存储器区域都有一个固定的大小,从那时起,新的对象就被分配给这个区域。当这些对象的总大小达到这个存储区域级别的阈值时,将触发GC的操作来为其他新对象腾出空间。
    
     虽然Java具有自动循环机制,但这并不意味着Java中没有内存泄漏,内存泄漏很容易导致严重的性能问题。
    
     内存泄漏是指程序不再使用的对象不能被GC识别,这使得对象留在内存中并占用宝贵的内存空间。ED,导致性能问题。
    
     如果发现在空白活动的内存快照中有可疑的未发布对象,则应使用定位跟踪工具仔细查找特定可疑对象。我们可以从空白活动开始听,开始观察活动,然后返回。完成空白操作后,我们可以仔细观察这些对象,找出内存泄漏的真正原因。
    
     一般来说,Android在GC上做了很多优化操作。虽然其他任务暂停执行GC操作时,在大多数情况下,GC操作相对安静和高效。但如果我们使用存储不当,导致频繁的GC执行,这将导致很多性能问题。
    
     内存监视器:查看整个应用程序占用的内存,当GC发生时,这是一个危险的信号,表明在短时间内会发生大量的GC操作。
    
     堆工具:查看当前内存快照,比较哪些对象可能泄漏。请参阅上面的案例。
    
     电力实际上是目前手持式设备中最有价值的资源之一。大多数设备需要不断的充电来维持它们的持续使用。不幸的是,对于开发者来说,电源优化是最不可考虑的事情。但可以肯定的是,不要让你的应用成为一个大功率的消费者。
    
     我们应该尽量减少唤醒屏幕的数量和持续时间,使用WakeLock处理唤醒问题,可以正确地执行唤醒操作,并根据设置进入睡眠状态及时关闭操作。
    
     一些不必立即执行的操作,例如上传歌曲、图像处理等,可以等到设备充电或电源充足。
    
     触发网络请求的操作将每次保持无线信号一段时间。我们可以为一个操作打包分散的网络请求,以避免由太多无线信号引起的功耗。这里也可以参考由网络请求引起的无线信号的功耗。
    
     我们可以通过手机设置选项中找到相应的应用程序的功耗统计。我们也可以通过电池历史学家工具查看详细的功耗。
    
     如果我们发现我们的程序消耗了太多的权力,我们可以使用作业调度程序API来处理任务定期,如等待重操作被指控或连接到WiFi。更多的知识关于作业调度程序可以参考
    
     用电量的计算和统计是一个麻烦而矛盾的问题。Recording electricity consumption itself is also a matter of electricity consumption.The only viable solution is to use third-party monitoring equipment, so as to obtain real power consumption.
    
     当设备处于待机状态时,它消耗的功率非常小。以N5为例,当飞行模式打开时,它可以待机将近一个月,但是当屏幕被点亮时,硬件模块需要开始工作,这将消耗大量的电力。
    
     After using WakeLock or Job Scheduler to wake up the device for a scheduled task, be sure to get the device back to its original state in time.Every time a wireless signal is waked up for data transmission, it will consume a lot of electricity, which is more power-consuming than WiFi and other oper内容。请注意细节。
    
     Efficiently retaining more power and constantly encouraging users to use your App to consume power are contradictory choices.But we can use some better ways to balance the two.
    
     这正是作业调度器API所做的。它结合了基于当前情况和任务的理想唤醒时间,例如等待充电或连接到WiFi,或者集中在一起的任务。通过该API,我们可以实现许多自由调度算法。
    
     Since Android 5.0, Battery History Tool has been released, which can see how often the program is waked up, who wakes up, and how long it lasts. 可以获得此信息。
    
     请注意程序的功耗。用户可以通过手机的设置来观察那些消耗大量电能的用户,并可能决定卸载它们,因此非常有必要最小化程序的功耗。
    
    
相关新闻
  • 防晒服抖音视频如何选择,防晒服抖音视频

    日期:2023-04-28 浏览次数:0

  • 抖音短视频歌词加

    日期:2023-07-14 浏览次数:0

  • 抖音视频有五个自己,解析抖音视频的五个自己

    日期:2023-04-28 浏览次数:0

  • 如何做好企业抖音网站运营工作

    日期:2023-10-12 浏览次数:0

  • 抖音短视频到桌面

    日期:2023-07-14 浏览次数:0

  • 抖音短视频防晒衣

    日期:2023-07-14 浏览次数:0

  • 奋斗之路抖音视频是如何激励人们努力奋斗的,奋斗之路抖音视频

    日期:2023-04-28 浏览次数:0

  • 抖音视频怎么加外景,如何在抖音视频中添加外景

    日期:2023-04-28 浏览次数:0

  • 耿天平抖音视频是怎样火起来的,耿天平抖音视频的成功之路

    日期:2023-04-28 浏览次数:0

  • 抖音视频怎么更好,如何让你的抖音视频更受欢迎

    日期:2023-04-28 浏览次数:0

  • 抖音视频中是否能使用商标,如何在抖音视频中合法使用商标

    日期:2023-04-28 浏览次数:0

  • 抖音视频用抖好吗,抖音视频用抖还是不用抖

    日期:2023-04-28 浏览次数:0

  • 丘北抖音运营开发的重要性

    日期:2023-10-10 浏览次数:0

  • 有效的美术抖音运营教学方法

    日期:2023-10-10 浏览次数:0

  • 抖音视频怎么换装,穿出自我风格

    日期:2023-04-28 浏览次数:0

  • 抖音视频赚钱吗,抖音视频能否成为一种赚钱方式

    日期:2023-04-28 浏览次数:0

  • 服务业抖音视频有什么好处,服务业抖音视频能提升业务销量

    日期:2023-04-28 浏览次数:0

  • 短视频弹窗怎么弄

    日期:2023-07-13 浏览次数:0

  • 郑州抖音运营学习

    日期:2023-11-09 浏览次数:0

  • 抖音视频怎么把内容做好,如何让抖音视频内容更吸引人

    日期:2023-04-28 浏览次数:0

13683819778 

短视频

填写您的服务需求,获取项目报价。

* 请认真填写需求信息,我们会在24小时内与您取得联系。

河南朗创网络营销

电话:13683819778

微信:18530930310

地址:郑州市惠济区文化路英才街交叉口郑北商城2号楼

邮箱:271733875@qq.com

郑州抖音短视频代运营、郑州抖音短视频推广获客、郑州抖音信息流代运营 朗创营销 版权所有 Copyright 2014-2023 . All Rights Reserved