返回顶部
首页 > 资讯 > 移动开发 >Android性能优化(一)App启动时间优化
  • 272
分享到

Android性能优化(一)App启动时间优化

app启动优化appAndroid 2022-06-06 13:06:01 272人浏览 泡泡鱼
摘要

App启动时间优化 一、首先我们需要清楚App的主题加载 你的App的主题位于 res/values/styles 我们点击Light主题进

App启动时间优化 一、首先我们需要清楚App的主题加载

你的App的主题位于

res/values/styles


我们点击

Light
主题进去,会发现此主题位于

app/build/intermediates/exploded-oar/com.Android.support/appcompat-v7/25.1.0/res/values/values.xml


点击此

Light
又会跳到


我们点击后面这个

Light
进去又会跳到


在这里他定义了一个

 false 

这里有一个非常重要的选项

在他的父类


中有一个

@color/background_material_light

而这个color就是白色

在v7包中的color中定义此色

@color/material_grey_50 

所以我们可根据

windowBackground
去优化App启动的视觉感官

二、如何解决呢

1> 我们可以在原来的

AppTheme
主题下去加一行

true

这样我们在启动App时回去加载一个透明的背景,当然在用户层面看到的就是

Launcher
桌面,过一会应用才会加载出来,强行甩锅给手机系统。
我们在应用启动后需要还原主题,我们需要在系统主Activity中去加载最开始的主题。
可以在主
Activity
onCreat
方法中去

setTheme(R.style.AppTheme)

这样在应用加载出来时又恢复了正常,只是手机

System
需要背锅了

2> 如果想要彻底的优化根治app的启动时间,我们需要更加深入的了解app的启动以及一些测量app启动的方法

三、如何测启动一个App的时间

我们如和获知一个APP的启动时间呢

1> 我们在用

loGCat
抓取手机app启动的日志中去搜索 “dispaly” 关键字可获取该app的启动时间
2>可以使用adb命令去启动主
Activity
去获取该app的启动时间

adb shell am start -W 包名/+全类名

比如

adb shell am start -W com.lqr.wechat/com.lqr.wechat.activity.SplashActivity

在控制台打印出日志中的

ThisTime
就是启动时间

四、Launcher启动App的过程

Launcher
上点击某个app的图标会直接调用到
am
startActivity
方法,该方法会将app分为
方法区
堆区
java栈
三个部分
在这里插入图片描述
ActivityThread
attach
方法会开启app,
Application
再开启
activity
,在调用
attach
后会调用
attach Application
远端进程调用
handleBindApplication
去创建App,调用
Application
onCreat
方法也就是
ActivityThread
中的
mInstrumenttation.callApplicationOnCreat(app)
去启动

五、找到最耗时的方法

通过检查trace的方法在主线程中找到最耗时的方法看能否放在子线程中,放在子线程中的方法要复合以下几个特征:
1、没有创建handler
2、没有绘制UI
3、异步要求不是很高

除此以外如果是单例模式的话可以尝试用懒汉模式创建,这样在使用该对象的时候再去创建,节省资源

如果是对启动页要求不是很大的情况下可以加入

true

意思为设置禁止启动项


作者:Easyhood


--结束END--

本文标题: Android性能优化(一)App启动时间优化

本文链接: https://lsjlt.com/news/28867.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android性能优化(一)App启动时间优化
    App启动时间优化 一、首先我们需要清楚App的主题加载 你的App的主题位于 res/values/styles 我们点击Light主题进...
    99+
    2022-06-06
    app启动 优化 app Android
  • Android性能优化(一)启动优化
            以前做手机的时候,我非常重视app的性能优化。其实一直以来,在工作中我总会去强调性能优化的重要性。但是,很多时候,由于一些外界因素,我们对app的一些性能指标不...
    99+
    2022-06-06
    启动 优化 Android
  • Android APP启动时间优化介绍
    APP启动时间优化首先要知道入伙获取APP启动时间,可以看我的这篇文章:Android 获取APP启动时间 然后就是想办法降低启动时间 1.在Application的onCreate...
    99+
    2024-04-02
  • 详解Android性能优化之启动优化
    目录1、为什么要进行启动优化2、启动的分类2.1 冷启动2.2 热启动2.3 温启动3、优化方向4、启动时间的测量方式4.1 使用adb 命令方式(线下使用方便)4.2 手动打点方式...
    99+
    2024-04-02
  • Android 勇闯高阶性能优化之启动优化篇
    目录🔥 背景🔥 启动内部机制💥 冷启动🌀 创建 Application🌀 创建Activity ...
    99+
    2024-04-02
  • 优化 Bootloader 性能:加速启动时间和可靠性
    代码优化 减少代码大小:通过使用压缩技术、去除不必要的代码和采用高效的数据结构,最小化 Bootloader 代码大小。 优化指令缓存:安排关键代码以最大化指令缓存命中,以减少内存访问延迟。 避免分支预测失效:使用预测分支指令,并在可能...
    99+
    2024-04-02
  • Android 分析实现性能优化之启动速度优化
    目录启动方式冷启动(启动优化目标)热启动温启动启动流程中可优化的环节检测工具启动时间检测Logcat Displayedadb 命令统计CPU profileAPI level &g...
    99+
    2024-04-02
  • Android启动优化
    一、启动分类 Android的启动分冷启动、热启动、温启动。 1、冷启动:当启动应用时,后台没有这个应用的进程,需创建新的进程。 冷启动过程: ...
    99+
    2022-06-06
    优化 Android
  • Android App应用启动分析与优化
    app的启动方式:  1.)冷启动  当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。冷启动因为系统...
    99+
    2022-06-06
    启动 优化 app Android
  • win7启动时间怎么优化
    这篇“win7启动时间怎么优化”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win7启动时间怎么优化”文章吧。win7启动时...
    99+
    2023-07-01
  • Android性能优化及性能优化工具
    目录1.Allaction Tracking(1)追踪(2)分类我们的内存分配(3)查看统计图2.LeakCanary(1)配置(2)制造一个单例内存泄漏的点(3)LeakCanar...
    99+
    2024-04-02
  • Linux启动时间的优化技巧
    本篇内容主要讲解“Linux启动时间的优化技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux启动时间的优化技巧”吧!一台电信设备的一次小故障或关机,即使只是几秒钟,都可能会对无数互联网...
    99+
    2023-06-05
  • Android APP启动方式、启动流程及启动优化分析
    本文章向大家介绍Android app应用启动的一些相关知识,包括app启动方式、app启动流程和app启动优化等知识!  app应用启动方式 1、冷启动  ...
    99+
    2022-06-06
    app启动 优化 app Android
  • Android性能优化系列篇UI优化
    目录前言一、UI优化1.1 系统做的优化1.1.1 硬件加速1.2 优化方案1.2.1 java代码布局1.2.2 View重用1.2.3 异步创建view1.2.4 xml布局优化...
    99+
    2022-11-13
    Android性能UI优化 Android UI优化
  • 怎么进行Linux启动时间优化
    这篇文章主要介绍怎么进行Linux启动时间优化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!快速启动嵌入式设备或电信设备,对于时间要求紧迫的应用程序是至关重要的,并且在改善用户体验方面也起着非常重要的作用。这个文章给...
    99+
    2023-06-16
  • Oracle性能优化-SQL优化(案例一)
    Oracle 性能优化 -SQL 优化 ( 案例一 ) 环境: OS:Red Hat Enterprise Linux AS release 4 DB:Oracle 10.2.0.1.0 ...
    99+
    2024-04-02
  • Android 性能优化 ~ 包体积优化实战
    概述 用户通常都不愿意去下载一个比较大的程序,特别是不在 WIFI 的情况下。如果你的安装包很小,用户还是愿意下载安装体验下的。现在市面上满足某...
    99+
    2022-06-06
    性能 实战 性能优化 优化 Android
  • 浅谈Android性能优化之内存优化
    目录1、Android内存管理机制1.1 Java内存分配模型1.2 Dalvik和ART介绍1.3 为什么要进行内存优化2、Java内存回收算法2.1判断Java中对象是否存活的算...
    99+
    2024-04-02
  • Android性能优化之弱网优化详解
    目录弱网优化1、Serializable原理1.1 分析过程1.2 Serializable接口1.3 ObjectOutputStream1.4 序列化后二进制文件的一点解读1.5...
    99+
    2022-11-13
    Android 性能弱网优化 Android 弱网优化
  • Android性能优化之ViewPagers + Fragment缓存优化
    目录前言1 ViewPager懒加载优化1.1 ViewPager的缓存机制1.2 ViewPager懒加载方案2 ViewPager2与ViewPager的区别前言 大家看标题,可...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作