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

App 启动优化

(Cold start) 冷启动是指APP在手机启动后第一次运行,或者APP进程被kill掉后在再次启动。...可见冷启动的必要条件是该APP进程不存在,这就意味着系统需要创建进程,APP需要初始化。在这三种启动方式中,冷启动耗时最长,对于冷启动的优化也是最具挑战的。因此本文重点谈论的是对冷启动相关的优化。...在最近任务给App加锁和启动方式有什么关系 某些厂商为了用户体验提供了给APP上锁的功能,目的就是让用户自己做主是上锁的APP不被杀,启动的时候不会处于冷启动方式,但是加锁也不是万能的,Low memory...killer在内存极度吃紧的情况下也会杀死加锁APP,在此启动时也将以冷启动方式运行。...这其中的道理简单说就是学习用户的使用习惯,提前将App进程创建好,当用户打开APP时不会出去冷启动

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

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

    70010

    App启动启动白屏处理

    近日在开发过程中,发现每次点击app从桌面启动都有一个在桌面明显的等待时间,机型越低端的越明显,冷启动优化看来已经势在必行,所以怒而一顿研究再解决之。...1冷启动 第一次启动、被用户杀死进程或系统自动回收进程后,整个app后台任务被清理,再次启动app,称为 冷启动。...特点:后台任务全部结束,回收进程 2热启动 用户点击返回键退回界面,后台任务没有杀死,再次点击启动app,称为 热启动。...特点:未清理后台任务,再次启动 3为什么出现白屏 在一个Activity打开时,如果该Activity所属的Application还没有启动,系统会为这个Activity创建一个进程; 每创建一个进程,...5白屏如何解决 大致有以下三种方法: 使用IntentService实现异步处理耗时的操作; 将背景图设置成我们APP的Logo图,作为APP启动的引导,现在市面上大部分的APP也是这么做的 将背景颜色设置为透明色

    1.5K20

    App启动流程三问

    App启动流程和Activity的启动流程也是面试中常常被问到的知识点,但是往往会涉及到很多方面,让我们不知道从何做答,今天就一起来看看启动流程相关问题: 说一下APP启动流程 里面涉及到哪些重要的成员呢...启动流程了解后,对我们开发有什么帮助呢? 说一下APP启动流程 Launcher被调用点击事件,转到Instrumentation类的startActivity方法。...Zygote fork进程,并调用ActivityThread的main方法,也就是app的入口。...启动流程了解后,对我们开发有什么帮助呢? 分析源码的目的一直都不是为了学知识而学,而是理解了这些基础,我们才能更好的解决问题。学习了App启动流程,我们可以再思考下一些之前没理解透的问题。...1)比如启动优化,分析启动过程,其实可以优化启动速度的地方有三个地方: Application的attach方法,MultiDexApplication会在方法里面会去执行MultiDex逻辑。

    81440

    浅谈App启动优化

    由于冷启动相对于其他启动方式多了进程的创建(Zygote进程fork创建进程)以及应用的资源加载和初始化(Application的创建及初始化),所以相对来说会比较耗时,所以我们一般说的App启动优化一般指的都是...App的冷启动优化。...优化方案 App启动优化的本质就是:启动速度和体验的优化。 这就好比早些年你去饭店吃饭,你想要点餐但等了半天都没有服务人员过来,可能就等得不耐烦直接走开了。...同样的,对于APP来说,如果用户点击App后长时间都打不开,用户就很可能失去耐心而卸载应用。 所以启动速度是用户对我们App的第一体验。...3.应用内置本地离线包,如一些字体和js脚本,即预置静态页面资源。 3.9 应用瘦身 对应用瘦身,可以最直接地加快资源加载的速度,从而提高应用启动的效率。 1.删除没有引用的资源。

    97220

    iOS App启动过程

    启动流程如图 ?...总结来说,大体分为如下步骤: (1) 系统为程序启动做好准备 (2) 系统将控制权交给 Dyld,Dyld 会负责后续的工作 (3) Dyld 加载程序所需的动态库 (3) Dyld 对程序进行 rebase...图中,虚线之上的部分是out-of-process的,在App下载安装和版本更新的时候会去执行,out-of-process会做如下事情: Rebase 和 Bind 有两种主要的技术来保证应用的安全:...App启动的时候,程序会被影射到逻辑的地址空间,这个逻辑的地址空间有一个起始地址,而ASLR技术使得这个起始地址是随机的。如果是固定的,那么黑客很容易就可以由起始地址+偏移量找到函数的地址。...程序启动逻辑 最后 dyld 会调用 main() 函数。main() 会调用 UIApplicationMain(),程序启动。 main.m文件,此处就是应用的入口了。

    2.2K30

    iOS App 启动性能优化

    导语 本文介绍了如何优化 iOS App启动性能,分为四个部分: 第一部分科普了一些和App启动性能相关的前置知识 第二部分主要讲如何定制启动性能的优化目标 第三部分通过在WiFi管家这个具体项目的优化过程...如何测量启动过程耗时 冷启动比热启动重要 当用户按下home键的时候,iOS的App并不会马上被kill掉,还会继续存活若干时间。...这种持续存活的情况下启动App,我们称为热启动,相对而言冷启动就是App被kill掉以后一切从头开始启动的过程。我们这里只讨论App启动的情况。...,App启动就越慢。...首先,要确定启动性能的界限,例如,在各种App性能的指标中,哪一此属于启动性能的范畴,哪一些则于App的流畅度性能?

    2.2K92

    APP性能测试—启动耗时

    应用启动是整个App工序的第一道流程。对于开发者,一般需要在应用启动过程中进行初始化工作,启动页的UI展示。而对于用户来说,启动速度的快慢则极大地影响了使用体验,并且间接地影响了用户的留存率。...应用的启动方式 冷启动:当启动应用时,后台没有该应用的进程,这时系统会首先会创建一个新的进程分配给该应用,这种启动方式就是冷启动。 热启动:当启动应用时,后台已有该应用的进程,这种启动方式叫热启动。...Android 启动时间 App启动流程 开发应用的时候,一般会指定一个 mainActivity,可以使用命令aapt dump badging [pkg name] | findstr launchable-activity...iOS 耗时原理 对于 iOS App 来说,启动时间包括两部分:Launch Time = Pre-main Time + Loading Time,如下图所示 ?...Pre-main Time 指 main 函数执行之前的加载时间,包括 dylib 动态库加载,Mach-O 文件加载等; Loading Time 指 App启动时初始化的执行时间,同时包含首页 UI

    2.7K40

    App启动页设计技巧

    App启动页,也称闪屏页,最初是为缓解用户等待Web/iOS/Android App数据加载的焦虑情绪而出现,后被设计师巧妙用于品牌文化展示,服务特色介绍以及功能界面熟悉等平台进行设计,被赋予了更加丰富而实际的作用...学习点: *启动页动态展示产品或软件功能,让用户更加快速,自然地熟悉软件 启动页动态展示APP或产品功能,服务,活动以及文化特色,不仅可以让整款设计更加多变。...App,在其启动页直接展示产品的设计方式,对于激发用户购买欲望,提升产品销售量,作用也是显而易见。...学习点: *启动页直接动态展示产品,增加产品曝光率和销售量 App启动页也是产品展示和曝光的重要平台。...另一方面,设计师也可通过App启动页与引导页/登录注册页/欢迎页面的快速跳转,为用户提供更加快速流畅的体验。 如图,启动页与登录注册页面的结合设计。

    1.8K20

    关于App启动顺序

    前言:了解你的自定义代码在启动时的执行顺序 综述: 启动一个app涉及一系列复杂的步骤顺序,大部分步骤由UIKit自动处理,在启动顺序中,UIKit调用你app delegate 方法,因此你可以执行自定义的任务...,图一列举了从app启动到初始化阶段的步骤顺序 ?...app启动跟初始化顺序 1、应用程序启动,要么由用户显式启动,要么由系统隐式启动。 2、xcode提供的main函数调用UIKit的UIApplicationMain函数。...6、UIKit执行状态恢复,它调用你的app delegate和视图控制器的其他方法。...无论应用程序是在前台还是在后台启动,大多数启动时的初始化代码都应该是相同的。比如,你初始化应用程序的数据并设置应用程序的用户界面。

    1.6K30

    App Inventor 2 Activity启动器技巧:如何查看并启动其他App

    App包名和类名的查看由 App Inventor 2 创建的应用要弄清包名和类名,可通过下载其应用程序的源代码,然后使用文件资源管理器或解压缩程序解压 .aia源文件(文件的扩展名修改成.zip 或....如果要更方便和直观的在手机上查看安装的APP的包名和类名,可以在手机上安装专门的查看应用包名的App,如“包名查看器”:不同品牌手机可能略有不同另外,利用Activity启动器调用系统某些功能时,不同品牌手机可能略有不同...下面代码是利用 Activity启动启动华为 Mate8 系统的照相机:如果在使用Activity启动启动其它应用的时候,如果出现启动不了或者找不到相应的 Activity 的情况,请检查包名、类名这些信息是否正确

    23310

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

    这篇文章你能学到什么 ---- 理论: 我们在进入mian()函数之前发生了什么事情 Mach -O的格式 虚拟内存基础知识 二进制Mach -O怎么被加载和准备 实用部分: 怎么去计算启动时间 优化启动时间...Mach -O、虚拟内存速成课 ---- 主要简单的介绍了Mach -O和虚拟内存的知识,下文在app启动的时会有很多相关的术语,不知道会懵逼。...如果没有可用内存,会通知在后台的App(也就是在这个时候收到了memory warning),如果在这之后仍然没有可用内存,则会杀死在后台的App。...APP启动 ---- app启动的时候,内核会把app映射到一个新的内存空间,开始地址是随机的。 ? 然后内核通过Dyld来加载动态库。...App启动的时候,程序会被影射到逻辑的地址空间,这个逻辑的地址空间有一个起始地址,而ASLR技术使得这个起始地址是随机的。如果是固定的,那么黑客很容易就可以由起始地址+偏移量找到函数的地址。

    2.5K30
    领券