当前位置: 首页 > news >正文

android 启动速度优化

首先是根据log查看用户从点击到应用启动并显示的总耗时是1s1左右(如果是install安装的话会更慢)

然后查看上面的log分析在哪里耗时了,从用户点击到system_server拉起application进入oncreate后什么也不干直接打印log,发现应用在这过程中什么也没干已经耗时800ms,

所以此段的耗时并不是发生在应用层,于是分析应用层的什么内容会影响应用的启动速度

角度1:是否gradle引入太多依赖导致?检查发现引入的都是基本的依赖,都是必须的

角度2:类中是否有太多没用的import已经没用的变量导致加载变慢?删除没有使用的import资源

角度3:分析apk文件,将apk在as中打开,发现apk中包含多个classes.dex文件

与正常启动速度的apk进行对比,发现启动慢的apk中包含了多个classes.dex文件

接下来就是分析为什么会多出几个多余的dex文件以及如何能够优化(此处的方案可以百度)

我这里的主要处理方式是突然灵光一闪尝试把debug版本的软件改成release版本,

gradle中添加release的编译方式

查看编译出的apk,与原来的对比发现classes.dex文件有少了很多,且包体积减小

运行并查看log,启动速度快了接近50%

从点击图标到application启动耗时变成200ms

之后只要再根据应用中的具体逻辑具体分析一些逻辑上的耗时并且优化就行了

http://www.dtcms.com/a/252312.html

相关文章:

  • Ubuntu 22.04离线安装Docker和NVIDIA Container Toolkit(使用gpu)
  • 在 VMware (WM) 虚拟机上安装的 Ubuntu 22.04 分配了 20GB 磁盘,但仅使用 10GB 就显示 “空间已满“
  • 【ZYNQ Linux开发】gpio子系统相关驱动先于Xgpio注册完成而加载失败的问题分析与探究
  • 《从IaaS到容器化:深度解析云计算三层架构与阿里云ECS+K8s协同实践》
  • 快速入门数据结构--栈
  • 【云计算领域数学基础】组合数学优化
  • 1.19集成开发环境(IDE)
  • 从loader和plugin开始了解webpack
  • Alova 封装与 Vue 3 集成示例
  • 大模型笔记3:通过插件增强大模型的能力
  • RabbitMQ消息队列实战指南
  • 【Go语言-Day 1】扬帆起航:从零到一,精通 Go 语言环境搭建与首个程序
  • qt信号与槽--02
  • SpringBoot电脑商城项目--项目分析及搭建
  • 2011-2020年各省互联网接入端口数数据
  • 项目实训个人工作梳理
  • 抽象工厂1
  • Go实战项目OneX介绍(2/12):项目功能列表介绍
  • 力扣第 454 场周赛
  • Seata 全面深入学习指南
  • LeetCode 第75题:颜色分类
  • IDEA21中文乱码解决办法
  • Redis-CPP通用接口
  • 创始人IP如何崛起:系统化打造的实践路径 | 创客匠人
  • 【Git】代码托管服务
  • AC-MT
  • 项目文章 ▏组蛋白乳酸化驱动的B7-H3表达促进肿瘤免疫逃避
  • 绝对收敛 趋于 0 的速度足够快 | 条件收敛 --> 项趋于 0 正负项相互抵消
  • Photoshop图层蒙版全介绍
  • Eclise中Lombck配置