启动速度优化记录

Posted 杨哲丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了启动速度优化记录相关的知识,希望对你有一定的参考价值。

启动速度优化

初步测试

初步测试各个方法耗时:

序号测试结果(ms)
Freso45
DownloadMannager3
okCache80
imageLoader17
Bugly40
LoginFromLocal167
InitSobot4
InitHpplay57
initYouZan220

测试依据

Trace分析 : 测试依据:具体可以参考 https://zhuanlan.zhihu.com/p/27331842 (支付宝大佬通过这个测试)

优化 Application 部分

代码如下:

 @Override
    public void onCreate() 
        super.onCreate();
        Trace.beginSection("KaishuApplication");
        // .... 省略中间代码
        Trace.endSection();
    

开始测试,Let‘s Go !!!!!!

一、 启动优化前(BH540 分支测试):

测试步骤: 测试五次,去掉一个最高,去掉一个最低: 然后剩下三个取平均值

序号测试结果(ms)平均值
11593去掉
21619去掉
31579采用
41598采用
51571采用

最终平均值: (1579+1598+1571)/ 3= 1583ms

二、 启动优化后:

处理方法: 异步处理极光和友盟,去掉设置极光别名后,代码 修改如下:

// 异步处理 极光和友盟   todo: 有赞(200ms)左右还需要和有赞沟通是否能有api来优化
if (DeviceUtils.isMainProcess(this)) 
            ExecutorService executorService = Executors.newSingleThreadExecutor();
            executorService.execute(new Runnable() 
                @Override
                public void run() 
                    JPushInterface.setDebugMode(false);
                    JPushInterface.init(context);
                    initUmengShareAndLogin();
                    initUmengStatistics();
                
            );
        
// 单独为KaishuApplication 初始化 登录的方法
public static void setLoginedFromLocal(Context context, MasterUser localMasterUser) 
        //*************************
        if (DeviceUtils.isMainProcess(context)) 
            setLoginedForApplication(localMasterUser, false);
        
    

  public static void setLoginedForApplication(MasterUser user, boolean bwriteToLocal) 
      ....
      // 注释 设置别名 单独为
//        JPushInterface.setAlias(KaishuApplication.getContext(), 1, "jpush" + masterUser.getUserid());

      ....
    

测试步骤: 测试五次,去掉一个最高,去掉一个最低: 然后剩下三个取平均值

序号测试结果(ms)平均值
1692去掉
2770去掉
3708采用
4717采用
5701采用

最终平均值: (708+717+701)/ 3= 709ms

最终优化结果

最终优化结果: (1583-709) / 1583 = 55.2 %

优化速度 55.2%

以上是关于启动速度优化记录的主要内容,如果未能解决你的问题,请参考以下文章

Day679.优化并提高Tomcat启动速度 -深入拆解 Tomcat & Jetty

关于mysql的查询优化

全志 Linux 系统启动优化 启动优化速度方式 优化启动流程 优化uboot 优化kernel等

全志 Linux 系统启动优化 启动优化速度方式 优化启动流程 优化uboot 优化kernel等

全志 Linux 系统启动优化 启动优化速度方式 优化启动流程 优化uboot 优化kernel等

优化启动速度