首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

App 启动优化

(Cold start) 冷启动是指APP在手机启动后第一次运行,或者APP进程被kill掉后在再次启动。...可见冷启动的必要条件是该APP进程不存在,这就意味着系统需要创建进程,APP需要初始化。在这三种启动方式中,冷启动耗时最长,对于冷启动优化也是最具挑战的。因此本文重点谈论的是对冷启动相关的优化。...在最近任务给App加锁和启动方式有什么关系 某些厂商为了用户体验提供了给APP上锁的功能,目的就是让用户自己做主是上锁的APP不被杀,启动的时候不会处于冷启动方式,但是加锁也不是万能的,Low memory...这其中的道理简单说就是学习用户的使用习惯,提前将App进程创建好,当用户打开APP时不会出去冷启动。...启动优化 透明主题优化 为了解决启动窗口白屏问题,许多开发者使用透明主题来解决这个问题,但是治标不治本。 虽然解决了上面这个问题,但是仍然有些不足。     <!

1.3K10

APP启动速度优化

APP启动速度非常重要,APP启动速度慢,可能会造成用户体验不良好,尤其是在最近用Android studio之后,如果长时间不打开app启动速度就会特别的慢,下面我们一起探讨一下影响app启动速度的原因...检测启动时间 首先我们要知道app启动时间,然后你也可以凭着感觉来,这里我教大家一个装逼的方法: adb shell am start -W [packageName]/[.MainActivity...这是一个很长时间没有启动app,当它第一次启动的时候就有很长的启动时间,下面来说怎么来减少吧。...减少应用启动耗时 app启动流程,简单的说,主要包括两部分: Application 启动界面的onCreate方法 因此最简单的方法就是尽量减少这两个方法中的耗时操作。...,给你的app首页主题样式加上android:windowBackground,放一下app的背景图片,这样即使app启动慢,也会首先加载背景,这样就会给用户造成一种假象,认为是app已经启动

66510
您找到你想要的搜索结果了吗?
是的
没有找到

浅谈App启动优化

App的冷启动优化。...优化方案 App启动优化的本质就是:启动速度和体验的优化。 这就好比早些年你去饭店吃饭,你想要点餐但等了半天都没有服务人员过来,可能就等得不耐烦直接走开了。...同样的,对于APP来说,如果用户点击App后长时间都打不开,用户就很可能失去耐心而卸载应用。 所以启动速度是用户对我们App的第一体验。...3.5 主页面优化 主页面的启动和显示也是app启动非常重要的一部分。 3.5.1 布局优化 布局优化的核心就是:提高页面渲染的速度,防止页面过度渲染导致耗时。 降低视图层级。...具体可参见《支付宝 App 构建优化解析:通过安装包重排布优化 Android 端启动性能》 这篇文章。这种技术门槛较高,一般应用都不会用到。

81620

iOS App 启动性能优化

导语 本文介绍了如何优化 iOS App启动性能,分为四个部分: 第一部分科普了一些和App启动性能相关的前置知识 第二部分主要讲如何定制启动性能的优化目标 第三部分通过在WiFi管家这个具体项目的优化过程...这种持续存活的情况下启动App,我们称为热启动,相对而言冷启动就是App被kill掉以后一切从头开始启动的过程。我们这里只讨论App启动的情况。...影响启动性能的因素 App启动过程中每一个步骤都会影响启动性能,但是有些部分所消耗的时间少之又少,另外有些部分根本无法避免,考虑到投入产出比,我们只列出我们可以优化的部分: main()函数之前耗时的影响因素...那么,如何定制优化的目标呢?首先,要确定启动性能的界限,例如,在各种App性能的指标中,哪一此属于启动性能的范畴,哪一些则于App的流畅度性能?...挖掘最后一点性能优化 由于WiFi管家是一个具有WiFi连接能力的App,因此有可能在后台过程中完成冷启动过程(实际上是在用户进入系统的WiFi设置时,iOS会启动WiFi管家,以便请求WiFi密码)。

2.1K92

APP,Activity的启动速度优化

Activity的启动时间,而totalTime还包括而totalTime是指APP进程启动时长,闪屏页面的启动时长以及闪屏页面的消失,新Activity的启动时长之和,所以关注APP启动时间,我们通常关注的是...TraceView识别耗时方法 对于APP启动来说,启动耗时包括Android系统启动APP进程加上APP启动界面的耗时时长,我们可做的优化APP启动界面的耗时,也就是说从Application的...Activity的启动,事实上Activity在执行到onResume的时候它的初始化操作还没有执行完成呢,如果在这里面执行耗时操作,不会有任何优化效果,应该在Activity第一次被focus的时候(...然后通过反射的方式创建Activity对象,再调用Activity的各个生命周期;所以APP启动时间是包括APP进程启动时长(无法优化),Application的执行时间和Activity的执行时间(...这两部分是可以优化的),另外在启动Activity之前会设置Theme,这里可能也会造成耗时,例如theme里面设置了一张分辨率较高的background会导致decode这张图片的时间变长

1.4K30

Android实战APP启动速度优化

APP启动速度非常重要,APP启动速度慢,可能会造成用户体验不良好,尤其是在最近用Android studio之后,如果长时间不打开app启动速度就会特别的慢,下面我们一起探讨一下影响app启动速度的原因...检测启动时间 首先我们要知道app启动时间,然后你也可以凭着感觉来,这里我教大家一个装逼的方法: adb shell am start -W [packageName]/[.MainActivity]...这是一个很长时间没有启动app,当它第一次启动的时候就有很长的启动时间,下面来说怎么来减少吧。...减少应用启动耗时 app启动流程,简单的说,主要包括两部分: Application 启动界面的onCreate方法 因此最简单的方法就是尽量减少这两个方法中的耗时操作。...,给你的app首页主题样式加上android:windowBackground,放一下app的背景图片,这样即使app启动慢,也会首先加载背景,这样就会给用户造成一种假象,认为是app已经启动

87720

iOS 优化App启动时间-启动详解(上篇)

看了一下2016年的WWDC关于优化启动时间的PPT,有些感悟和总结,记录一下。...这篇文章你能学到什么 ---- 理论: 我们在进入mian()函数之前发生了什么事情 Mach -O的格式 虚拟内存基础知识 二进制Mach -O怎么被加载和准备 实用部分: 怎么去计算启动时间 优化启动时间...Mach -O、虚拟内存速成课 ---- 主要简单的介绍了Mach -O和虚拟内存的知识,下文在app启动的时会有很多相关的术语,不知道会懵逼。...APP启动 ---- app启动的时候,内核会把app映射到一个新的内存空间,开始地址是随机的。 ? 然后内核通过Dyld来加载动态库。...一个app通常会加载400多个动态库,大多数是系统库,系统库大多数都被优化加载过程 ,所以优化的关注点在于内嵌动态库。

2.4K30

这回性能优化,从App启动优化说起!

前言 本篇文章主要针对 Android性能优化App启动优化App启动,相信大家都是非常熟悉了,那为何我们需要对App启动优化呢,这里就要先对我们Android 从开机到启动我们的App进入主页面这一流程做一个简单的阐述了...,只需要大概知道是这么个流程就行了.所以说,其实我们手机的操作系统就是一个App,开机启动时先加载各种驱动程序(类似App初始化各种第三方SDK),然后加载系统标识(黑白屏问题),然后启动开机欢迎动画(...二、App启动时黑白屏问题 基于以上的启动流程 ,那么App启动优化的第一步就是从系统标识入手,我们手机开机时一般最先出现的是手机厂商的logo标识,而App启动时会先调用一个预显示窗口,这个窗口的样式一般是黑色或者白色...对的,被你发现了,虽然黑白屏没了,但是我们的App似乎是变迟钝了你在仔细观察一下,点击App启动图标后,App似乎是顿了一下,然后加载了我们的欢迎页面,有点像ANR,只不过很短暂 ,但是用户还是能够发现的...这时就可以进去一定的伪优化了.例如和产品协商在进入页面时加载一个dialog进行缓冲一下,很多App也是进去这样的优化,看看我们的简书App就是这样,我基本每次进去都会弹一个dialog[1240]

81330

优化App启动,实现启动页错觉秒开

APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页。...安卓启动方式一般有3种: >Coldstart——冷启动: 此种方式最为耗时,一般是因为进程被干掉或者是第一次启动app,系统需要重新fork进程进行一系列初始化,后台没有该应用的进程。...>WarmStart ——暖启动 比ColdStart稍快,当app的Activities被销毁,但还在内存中常驻时启动方式会变为暖启动app并没有被杀掉,所做的只是把app从后台提到前台来展示,并不需要重走初始化一系列行为...接下来看看如何优化启动: 既然我们已经找到这个黑白屏是出自系统的预览窗口,我们就可以通过操控这个窗口来实现。...这个预览窗口是在activity启动页前显示的一个安卓优化措施,我们可以从主题中可以找到,是可以设置这个窗口配置的。

1.7K30

干货 | Trip.com APP 启动优化实践

引言 启动是用户对App的第一印象,对于用户体验尤为重要,所以我们花了很多时间在启动时间的优化上。...本文将分享Trip.com App启动优化实践,从分析App启动的过程开始,在了解启动流程的基础上制定大的优化原则和小的具体方案,希望能对大家有所帮助。...一、App启动的流程分析 想做启动优化,首先要了解清楚启动的各个流程,然后才能对各个环节去做针对性措施。 借用WWDC对启动阶段的定义图: ?...三、成果如何 通过长期的优化,以上手段全部用完之后,我们的启动时间从原来的2秒,优化到1秒以内。...总结 在优化启动时间的过程中,我们的收获不仅是对启动时间的优化,也对系统的启动机制有了更深的了解,同时优化了我们自己的代码,使其变得更加更加健壮和高性能。

55420

OC底层探索26-App启动时间优化OC底层探索26-App启动时间优化

本文中所说的启动都指:冷启动。 冷启动:内存中不包含APP的数据,所有数据都需要从Mach-o载入到内存中,提供给应用使用。 热启动:内存中仍然存在APP的数据,数据不需要重新载入内存。...1.2 启动耗时查看 想要优化启动时间,就需要要知道启动app都做了什么?通过添加环境变量可以打印出APP启动时间分析(Edit Scheme -> Run -> Arguments) ?...1.3 提高main()函数之前的加载时间 1.动态库加载越多,启动越慢。 2.ObjC类,方法越多,启动越慢。 3.ObjC的+load越多,启动越慢。...2、耗时优化策略 2.1 删除无用代码,合并一些同样功能的类 OC类的注册耗时 (OC类越多,越耗时),swift的类不会存在这个问题。...其实还是不错~ 参考链接: AppOrderFiles iOS优化篇之App启动时间优化

77830

Android App优化之提升你的App启动速度之实例挑战

可以看到启动时白屏了很长时间. Traceview上场 接下来我们结合我们上文的理论知识, 和介绍的Traceview工具, 来分析下Application的onCreate耗时....那么还有没有什么办法优化呢? 给我们的应用窗口弄一个PlaceHolder Android最新的Material Design有这么个建议的....给Window加上背景 如第3节所言, 当App没有完全起来时, 屏幕会一直显示一块空白的窗口(一般来说是黑屏或者白屏, 根据App主题)....这种优化, 对于有些Application内的初始化工作不能移到子线程做的情况, 是非常友好的. 可以避免我们的App长时间的呈现给用户一个空白的窗口. 结语 照例, 总结下....这次关于App启动时间的优化, 写了两篇. 写这么多, 还是想传达下个人做技术的思想, 也算是个人的经验回顾, 抛砖引玉.

54330

得物App安卓冷启动优化-Application篇

前言冷启动指标是App体验中相当重要的指标,在电商App中更是对用户的留存意愿有着举足轻重的影响。...得物App启动框架任务在近几年已经先后做过多轮优化,常规的抓trace寻找耗时点并异步化已经不能带来明显的收益,得从锁竞争,CPU利用率的角度去挖掘优化点,这类优化可能短期收益不会特别明显,但从长远来看能够提前规避很多劣化问题...因此想进一步扩大收益,就得对启动框架中的任务依赖关系做优化。以上第一张图为优化之前得物App启动阶段任务的有向无环图,红框表示该任务在主线程执行。我们着重关注阻塞主线程任务执行的任务。...四、稳定性性能优化App只能算作锦上添花,稳定性才是生命红线,而启动优化改造的又都是执行时机非常早的Application阶段,稳定性风险程度非常高,因此务必要在准备好崩溃防护的前提下做优化,即便有不可避免的稳定性问题...用户视角下,添加配置有效期前后对比:五、总结至此,我们已经对安卓App中比较通用的冷启动耗时案例做了分析,但是启动优化最大的痛点往往还是App自身的业务代码,应当结合业务需求合理的进行任务分配,如果一味的靠预加载

47230

Android 优化——启动优化

Android 优化目录 ---- App 启动方式 冷启动 App 没有启动过或 App 进程被杀,系统中不存在该 App 进程,此时启动即为冷启动。...需要创建 App 进程,加载相关资源,启动 Main Thread,初始化首屏 Activity 等。...在这个过程中,屏幕会显示一个空白的窗口(颜色基于主题),直至首屏 Activity 完全启动。 热启动启动意味着 App 进程只是处于后台,系统只是将其从后台带到前台展示给用户。...温启动 介于冷启动和热启动之间,一般来说在以下两种情况下发生: 用户返回退出了 App,然后又启动。进程可能还在运行,但是 activity 需要重建。...优化 布局优化 逻辑优化 必要且耗时的逻辑,考虑单独开线程执行 必要不耗时,按优先级高低依次执行 非必要的延迟初始化,等用到再初始化 针对冷启动的欺骗效果 使用 placeholder UI

92930

一触即发——App启动优化最佳实践

一触即发 App启动优化最佳实践 本篇是我的原创,我又回来啦~ 文中的很多图都是Google性能优化指南第六季中的一些截图 Google给出的优化指南来镇楼 https://developer.android.com.../topic/performance/launch-time.html 闪屏定义 Android官方的性能优化典范,从第六季开始,发起了一系列针对App启动优化实践,地址如下: https:...其实最早的时候,闪屏是用来在App未完全启动的时候,让用户不至于困惑App是否启动而加入的一个设计。...App启动流程 App启动的整个过程,可以分解成下面几个过程: 用户在Launcher上点击App Icon 系统为App创建进程,显示启动窗口 App在进程中创建自己的组件 这个过程可以用下面这幅图来描述...OK,App启动优化基本如上,其重点过程,依然是分析耗时的操作,以及如何设计合理的启动顺序,希望各位能够通过文中介绍的方式来进行App启动优化

1.3K40

APP启动优化:如何使用好工具【Perfetto systrace MethodTracing】

启动的定义与可优化的点 如何衡量当前的性能指标,个人感觉,性能的衡量分三步: 指标制-> 指标采集 -> 性能基线与优劣评级, 以上三块组成性能量化工具,有了量化工具,就可以说APP性能是好是坏,以冷启动为例...单从技术上说感觉可以定义如下: 冷启动耗时 = 从APP进程创建到第一个有效页面帧[闪屏] 具体到实现上,涉及哪些环节,会怎样影响冷启动速度呢?...随后系统会启动进程加载SplashActivity,启动进程主要是Application中可能有些APP全局初始化操作,尽量轻,或者延后处理,当然,也会有一些ContentProvider与Receiver...对于整体冷启动优化效果:用perfetto看比较直接 优化前:1261ms 优化后:439ms 所用的优化除了上面的措施还有部分如下措施等: 延迟非必要receiver的注册 闪屏广告Layout布局按需加载...作者:看书的小蜗牛 原文链接: APP启动优化:如何使用好工具【Perfetto\ systrace \MethodTracing】

2.2K41
领券