领域棋牌网页登录

领域棋牌网页登录|正金棋牌下载|欢乐棋牌全集下载|百人牛牛作弊器

朗创网络营销,

seo外包

,

北京网站优化

,

seo公司

,提供seo外包,seo咨询顾问,整合营销推广,网站运营服务,提升品牌竞争力联系我们(9:00-17:00):400-880-6422
 SEO网站优化 SEM营销托管 微信营销推广 微博推广 危机公关 软文推广 SNS社区 论坛推广 活动事件
朗创网络郑州网站优化
朗创网络营销 > 媒体报道 >  > 谷歌发布Android性能优化范例

以下方式找到我们

  • 联系我们seo公司朗创营销

谷歌发布Android性能优化范例

发布时间:2018-08-22 16:41  文章来源:朗创网络营销 
文章信息提要
领域棋牌网页登录如果其中一个操作需要24毫秒,当系统得到VSYNC信号时,系统不能正常渲染,因此发生帧丢失,然后用户将在32毫秒内看到相同的
领域棋牌网页登录如果其中一个操作需要24毫秒,当系统得到VSYNC信号时,系统不能正常渲染,因此发生帧丢失,然后用户将在32毫秒内看到相同的帧。

在一个多层的UI结构中,如果不可见的UI也在进行绘图操作,这将导致一些像素区域被多次绘制,这浪费了大量的CPU和GPU资源。

当我们在设计中追求更华丽的视觉效果时,往往会陷入使用越来越多的级联组件来实现这种视觉效果的怪圈中,这很容易导致很多性能问题,为了获得最佳性能,我们必须尽量减少O的出现。F透支。

幸运的是,我们可以通过在手机内设置开发选项并打开显示GPU透支选项来查看UI上的透支。

蓝色、浅绿色、浅红色和深红色代表四种不同的透支水平,我们的目标是尽量减少红色透支和更多的蓝色区域。

要理解应用程序是如何呈现的,我们必须了解电话硬件是如何工作的,然后我们必须了解VSyc是什么。

刷新率:表示屏幕刷新的次数,取决于固定的硬件参数,如60Hz。

GPU采用图形数据进行渲染,硬件负责将渲染的内容渲染到屏幕上,两者一起工作。

不幸的是,刷新率和帧速率并不总是保持相同的节奏,如果帧速率与刷新频率不一致,则容易出现撕裂现象(屏幕显示内容的上下部分,从两个不同的数据重叠帧中断)。)

理解图像渲染中的双重和三重缓存机制是一个复杂的概念,所以请看这里:这里。

一般来说,帧速率超过刷新频率是理想的情况。在超过60个FPS的情况下,GPU生成的帧数据将保持等待VSYNC刷新信息,以便可以在每次刷新时显示实际的新数据,但是我们遇到的情况比刷新率要多。

在这种情况下,在某些帧中显示的帧的内容将与前一帧中的帧相同。坏的是,帧速率从60 fps突然下降到低于60 fps,这可能导致滞后、JANK、HOTCH和其他纸盒的非光滑帧下降的发生。河北做网站这也是用户感觉不好的原因。

性能问题是如此麻烦。幸运的是,我们可以调试工具。打开手机上的开发选项,选择PrPrPGPU渲染,并在屏幕上选择为酒吧。

有了这个选项,我们可以看到丰富的GPU渲染信息在电话屏幕上,分别是关于GPU更新信息的StasBar,Navar,激活程序活动区。

当界面刷新时,滚动垂直条图以显示每个帧所需的渲染时间,并且条形图越高,渲染时间越长。

中间有一条绿色的水平线,代表16Ms。我们需要确保每一帧上花费的总时间低于这个水平线,这样我们就可以避免纸箱的问题。

每一列包含三个部分。蓝色表示显示列表的渲染所需的时间,红色表示OpenGL呈现显示列表所需的时间,黄色表示CPU等待GPU处理的时间。

我们通常会谈论60fps和16Ms,但是你知道为什么它是基于程序是否达到60fps的应用程序性能度量这是因为人脑和大脑之间的协作不能感知超过60fps的更新。

开发应用程序的性能目标是保持60fps,这意味着每个帧只有16MS=1000 / 60来处理所有任务。

了解Android如何使用GPU进行渲染有助于我们更好地理解性能问题。因此,最实际的问题是:如何将活动画面绘制到屏幕上如何识别和绘制那些复杂的XML布局文件

栅格化光栅化是绘制诸如按钮、形状、路径、字符串、位图等组件的最基本操作,它将这些组件拆分到不同的像素进行显示,这是一个耗时的操作。GPU的引入是为了加速光栅化操作。

然而,每次从CPU移动到GPU,这是一个很大的麻烦。幸运的是,OpenGL ES可以将那些需要保存在GPU内存中的纹理保存起来,并在下一次渲染时直接对它们进行操作。因此,如果更新GPU保持的纹理内容,则保存的状态就会丢失。

为了使应用程序平滑,我们需要在每个帧的16毫秒内处理所有CPU和GPU计算、渲染等。

平滑和微妙的动画是应用程序设计中最重要的元素之一,这些动画可以显著增强用户体验。接下来,我们将解释Android系统如何处理UI组件的更新操作。

一般来说,Android需要将XML布局文件转换成GPU可以识别和绘制的对象。这个操作是在DeStudiList.DelpRead中完成的,所有的数据都将被送到GPU来绘制到屏幕上。

性能问题的一个非常重要的方面是由于太多复杂的渲染操作。我们可以使用工具来检测和修复标准UI组件的过度绘制问题,但是对于高度定制的UI组件来说,这有点过激。

除了Cclipse方法之外,我们还可以使用它来确定矩形是否不相交,从而跳过非矩形区域中的绘图操作。在优化之后,我们可以通过上面介绍的GPU超图来看到效果。

虽然Android有一个自动内存管理机制,但是内存的不正确使用仍然会导致严重的性能问题。在同一帧中创建太多对象是一个特别感兴趣的问题。

除了速度差之外,在执行GC操作时,任何线程上的任何操作都需要暂停,等待GC操作在其他操作继续运行之前完成。

一般来说,单个GC不占用很多时间,但是大量的非停止GC操作可以显著占用帧间隔(16MS)。如果在帧间隔中执行太多GC操作,那么自然地可以使用其他运算,例如计算、渲染等。SS时间。

有一种直观且直观的方法来解决上述问题,如果在内存监视器中在短时间内看到多个内存颠簸,则意味着内存抖动很可能发生。

我们也可以使用分配跟踪器查看相同的对象,这些对象在短时间内不断地在同一堆栈中移动,这是内存抖动的典型信号之一。

每个级别的内存区域具有固定的大小,并且新的对象被连续地分配到该区域。当这些对象的总大小达到该内存区域的阈值时,触发GC操作,以便为其他新对象腾出空间。

虽然Java有一个自动恢复机制,但这并不意味着Java中没有内存泄漏,这很容易导致严重的性能问题。

内存泄漏指的是不再被GC识别的程序所使用的对象,从而使对象保留在内存中并占据有价值的内存空间。显然,这也使得每个生成级别的内存区域更小,使得GC更容易。被触发,造成性能问题。

如果在空白活动内存快照中发现可疑的未发布对象,则应使用定位跟踪工具仔细查找特定可疑对象。我们可以从空白活动开始监听,开始观察活动,然后返回空白活动结束收听。手术后,我们可以仔细观察对象,找出内存泄漏的真正凶手。

一般来说,Android在GC上做了很多优化,虽然在执行GC操作时其他任务被暂停,但是GC操作在大多数情况下相对安静和高效,但是如果我们不正确地使用内存,导致GC的频繁执行,这将导致大量的PFF。奥秘问题。

内存监视器:查看应用程序作为一个整体所使用的内存,并且在GC出现时,这是一个危险的信号,即大量的GC操作在短时间内发生。

堆工具:请参阅当前内存快照,以便比较分析哪些对象可能泄漏,参见前面的情况。

电力实际上是当今手持式设备最宝贵的资源之一,大多数设备都需要不断的充电来保持它们的使用。不幸的是,对于开发人员来说,电力优化是他们最不愿意考虑的事情。但是你可以确信你不能让你的应用变成一个。大量的电力消费。

我们应该尽量减少唤醒屏幕的数量和持续时间,使用WakeLock来处理唤醒问题,能够正确地执行唤醒操作,并根据设置关闭睡眠操作。

不需要立即执行的一些操作,例如上传歌曲、图像处理等,只能在设备负责或有足够的功率时才执行。

触发网络请求的操作将每次保持无线信号一段时间。我们可以将分散的网络请求打包成一个操作,以避免由过量的无线信号引起的功耗,也可以参考由网络请求引起的无线信号的功耗。

通过设置手机选项,我们可以找到与应用程序相对应的功耗统计,也可以通过电池历史工具查看详细的功耗。

如果我们发现我们的应用程序被压缩了,我们可以使用作业调度程序API来调度任务,例如在电话充电时等待繁重的任务,或者连接到WiFi。更多的关于JobScheduler的信息可以用于参考。

耗电量的计算和统计是一个麻烦而矛盾的问题,记录用电本身就是一个耗电问题,唯一可行的解决办法是使用第三方监测装置,从而获得实际的电力消耗。

当设备处于待机状态时,功耗非常小,例如N5、开放飞行模式、待机近一个月。但是当屏幕亮起来时,硬件的每个模块都需要开始工作,这将消耗大量的电能。

在唤醒设备使用WaCKORK或JobScheduler处理定时任务后,一定要及时将设备恢复到原来的状态。每个唤醒无线信号用于数据传输,将消耗大量的功率,它比WiFi和其他操作消耗更多的电力,请支付AT10。细节

有效地保留更多的电力,并不断敦促用户使用你的应用程序来消耗电力是矛盾的选择。但是我们可以用更好的方法来平衡两者。

这正是JobScheduler API所做的。它将期望的唤醒时间与当前的任务和任务相结合,例如等待被充电或连接到WiFi,或者集中在一起的任务。通过这个API,我们可以实现许多自由调度算法。

自Android 5发布的电池历史工具可以让你看到程序醒来的时间,醒来的时间,持续时间。

注意程序的功耗。用户可以通过手机的设置来观察电力用户,并决定卸载它们,因此有必要最小化程序的功耗。

文章地址:http://www.water-boy.com/meitibaodao/2226.html ,如需转载请注明出处!
上一篇:谷歌和PR更近的变化为SEO带来新的机遇    下一篇:谷歌计划惩罚过度使用SEO技术网站
收缩
  • 电话咨询

  • 400-880-6422
领域棋牌网页登录|正金棋牌下载|欢乐棋牌全集下载|百人牛牛作弊器北京seo外包_关键词排名服务_北京网站优化-朗创营销领域棋牌网页登录