美文网首页性能优化
性能优化之App启动优化

性能优化之App启动优化

作者: 掌印智能科技研发中心 | 来源:发表于2017-12-28 13:46 被阅读24次

一、前记

        随着技术的迭代,许多三方SDK一涌而出,统计、推送、IM、BUG监控等,导致我们现在项目中的Application很臃肿,在onCreate方法中各种初始化,最后导致App启动非常缓慢,初始化一个推送需要2秒时间,初始化百度地图需要3秒时间,初始化.....各种加在一起就N秒了,启动应用,等待如此漫长,最后的结果,用户不干了,本篇文章就是讲解如何优化App启动。

二、初识App启动

        从源码了解,我们的手机屏幕其实就是一个大的app,上面每一个应用都是一个Activity,在我们点击屏幕App应用,系统通知ActivityManagerService来操作一系列事情,这一块我们是没法优化的,我们能优化是Application与启动页,为什么启动会慢,我们先来看项目中Application的代码。

Application中onCreate代码

基本上我们都会在Application中做这种类似的操作(以上代码来自GitHub某个Demo),我启动该应用,发现会白屏一段时间,启动耗时:8s。如果说是因为项目大而启动慢,我们打开QQ或者微信发现,他们非常快,所以这个说法不成立,那么原因出在哪里。当前在前面就说了,是由于Application初始化太多控件所导致的,那么哪个控件耗时较多,在哪一步导致这个问题,这个我们并不知道,所以我们先用Trace文件来统计耗时情况,代码很简单。两句代码。如下图,在Application的onCreate中加入代码。

添加统计后的代码

        看图中两个箭头在SDk初始化前开始执行,完成后停止统计。添加以上代码,然后运行程序,会在手机sdcard里生成一个startTIme.trace文件。接下来我们用cmd命令,把他拖到电脑桌面。如下图

cmd命令 桌面trace文件

怎么打开他呢,直接丢到androidStudio里面,如下图

通过这个图我们可以看到,标1的是执行次数,一些方法指令的次数,标2的为耗时操作,在耗时这边,推送要3.4秒加载时间,地图要2.9秒加载时间,bug监控1.2秒加载时间,这一块占据了7.6秒,那如何优化,接下来我们开始去优化这段代码。

三、App启动优化

           在这边优化的方式有多种,延迟加载、开启子线程等。。这些要根据原因而定。因为我所引用这些SDK没有处理Handler,可以直接放到线程里面去工作。如何优化,如下图:

优化后的Application

把耗时操作丢到线程里头,等然后在启动页的onCreate里面调用。

看下优化过后的启动时间:0.04秒,快的不行。

优化后的trace

接下来大功告成了吗,No,还没有,因为由于过快,还是有闪的动作,怎么着,最后参考了QQ的做法,在Theme样式中加上这两个属性,一个是设置透明,一个是不要背景图。现在点击就没有闪屏的现象,直接进入启动页。

主题加入的属性

启动优化就到这里。

相关文章

  • APP性能优化(一)启动优化

    iOS App 启动性能优化WWDC之优化App启动速度 Instruments 包含的工具有很多,Time Pr...

  • iOS 性能优化三

    主要讲解APP冷启动的优化 iOS 性能优化一iOS 性能优化二iOS 性能优化三 1. APP 启动的分类 冷...

  • iOS性能优化 - 整理

    本文主要包含: 性能优化 - 卡顿性能优化 - 耗电优化性能优化 - APP启动优化安装包瘦身 一  性能优化 -...

  • MS(4):Android之性能优化篇

    六、性能及优化 1、App优化之性能分析工具 Android App优化之性能分析工具 2、ListView优化 ...

  • Android性能优化之启动速度优化

    Android性能优化之启动速度优化 Android app 启动速度优化,首先谈谈为什么会走到优化这一步,如果一...

  • 冷启动优化

    冷启动优化主要优化两个方面 Application 性能优化 App启动页性能优化业务优化不在本章优化范围内。本章...

  • App优化 - ANR优化

    前言 App优化 - 需要优化哪些? App优化 - 性能分析工具 App的3种启动方式 App优化 - App启...

  • Android系统原理

    Android性能优化(一)App启动原理分析及启动时间优化 - CSDN博客 Android性能优化(二)布局渲...

  • 收集_性能优化

    Android性能优化(一)之启动加速35%Android性能优化(二)之布局优化面面观Android性能优化(三...

  • iOS App 启动性能优化

    iOS App 启动性能优化

网友评论

    本文标题:性能优化之App启动优化

    本文链接:https://www.haomeiwen.com/subject/prhjvxtx.html