首页
学习
活动
专区
工具
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已经启动

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

iOS App 启动性能优化

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

2.2K92

浅谈App启动优化

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

89920

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已经启动

90120

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.5K30

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

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

2.5K30

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

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

82430

优化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秒以内。...总结 在优化启动时间的过程中,我们的收获不仅是对启动时间的优化,也对系统的启动机制有了更深的了解,同时优化了我们自己的代码,使其变得更加更加健壮和高性能。

56820

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启动时间优化

80330

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

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

56230

Android面试题之App启动流程和启动速度优化

App启动流程 ①点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求; ②system_server进程接收到请求后,向zygote...⑧到此,App便正式启动,开始进入Activity生命周期,执行完onCreate/onStart/onResume方法,UI渲染结束后便可以看到App的主界面。...温启动包含了在冷启动期间发生的部分操作;同时,它的开销要比热启动高 冷启动是指应用从头开始启动:系统进程在冷启动后才创建应用进程 在热启动中,系统的所有工作就是将 Activity 带到前台 启动优化一般是优化启动...EventBus、Arouter等 黑白屏问题优化 通过给启动的Activity设置一个主题style,这个主题设置windowbackground为一张启动图,可以优化体验;然后再activity的...启动过程避免耗时操作,如数据库 I/O操作不要放在主线程执行。 3). 类加载优化:提前异步执行类加载。 4). 合理使用IdleHandler进行延迟初始化。

8510

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

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

60330

一触即发——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.4K40

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

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

2.4K41
领券