关于App启动速度优化事项的介绍!

在讲解今天的内容之前,我想问一下广大用户:一款好用的APP,首先必须具备的第一个条件是什么?我想大多数用户的回答是:APP启动快速,启动反应迅速。没错!所以许多开发人员对于APP启动速度方面有着极致的追求,并且优化APP的启动速度也是他们工作的一部分,同时也是工作重点。

不仅如此,分析APP启动状况也是非常重要的,分析APP启动状况是宏观性的,并不局限于某一个点,而是对APP整体启动状况进行分析,包括启动速度、启动时是否出现闪退、是否出现白屏等现象,总之就是对APP启动状况进行整体全方位的分析。

那么,说到分析APP启动状况,其中有一个非常简便快捷的方法推荐给开发者朋友们,使用专业的分析检测APP性能工具,可达到事半功倍的效果,效率高节省精力,剩下的时间可安排其他的工作。“友盟u-apm应用性能监控平台”在市面上比较受大家欢迎,使用操作方面丝滑流畅,功能种类也十分齐全。

友盟主要是通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析等性能能力。例如上面讲到的分析APP整体启动状况,就可以使用友盟“启动分析”功能,启动分析通过提供详尽的启动耗时、慢启动情况、启动崩溃数据,帮助开发人员把控应用的启动性能状态,从源头减少客户流失!

下面我们一起来了解下App启动速度优化的相关事项!

APP启动速度优化

1、为何启动慢?

①Application的onCreate流程,通常来讲,在这个方法会进行大量的通用组件的初始化工做;

②Activity的onCreate流程,布局太过复杂,致使UI布局渲染耗时,影响启动性能。

  2、解决办法

1异步加载、延迟加载、多进程时按照进程区分进行一些初始化工做等。

主要有如下几种状况须要延迟加载:markdown

①数据库及IO操做都移到工做线程,而且设置线程优先级为THREAD_PRIORITY_BACKGROUND,这样工做线程最多能获取到10%的时间片,优先保证主线程执行。

  2流程梳理,延后执行

实际上,这一步对项目启动加速最有效果。经过流程梳理发现部分流程调用时机偏早、失误等,例如:

①更新等操做无需在首屏还没有展现就调用,形成资源竞争;

②调用了IOS为了规避审核而作的开关,形成网络请求密集;

③自有统计在Application的调用里建立数量固定为5的线程池,形成资源竞争,在上图traceview功能说明图中最后一行能够看到编号12执行5次,耗时排名前列;此处线程池的建立是必要但能够延后的。

④修改广告闪屏逻辑为下次生效。

  3其它优化

①去掉无用但被执行的老代码;

②去掉开发阶段使用但线上被执行的代码;

③去掉重复逻辑执行代码;

④去掉调用三方SDK里或者Demo里的多余代码;

⑤信息缓存,经常使用信息只在第一次获取,以后从缓存中取;

⑥项目是多进程架构,只在主进程执行Application的onCreate();

总结

以上内容就是分析APP启动状况的快捷方法,以及App启动速度优化的方法,希望能够帮助到大家!其实,无论是分析还是优化,对于优化APP启动速度来讲,都是不可或缺的,如此便可提升用户的体验感!

你可能感兴趣的:(关于App启动速度优化事项的介绍!)