前言:项目中被诟病多媒体开机第一次启动很慢,大约3s的黑屏,后续点开启动正常,其中什么原理呢?这就涉及到系统的三种启动模型

1.Cold Start,冷启动

system--->
loding and launching the app
displaying a blank window
createing the app process


process--->
creating the application
launching the main thread
creating the main activity
inflating views
laying out the screen
perfoming the initial draw
main activity place blank window


2.Hot Start,热启动

前台activity因内存不足,被系统销毁重建的过程(重建流程同冷启动)

3.Warm Start

  • 用户点击返回,并重新运行
  • activity不在前台,被系统销毁,由用户主动运行
    可通过onSaveInstance保存状态

4.APP启动慢常见问题

  • Application.onCreate中执行了过重的操作,如I/O操作,频繁创建对象等
  • Activity.onCreate
    布局过于复杂
    Loading and decoding bitmaps
    blocking screen drawing on disk or network I/O
    Rasterinzing vectordrawable objects
    initialztion of other subsystem of the activity

app启动流程:冷启动,热启动,暖启动相关推荐

  1. 西门子PLC 冷启动、暖启动、热启动的一种通俗解释

    不知道是不是翻译问题,在查阅官方文档的过程中,遇到了一些表述含义接近的名词,个人认为这是对同一个单词的几种不同翻译,因此在文章中,将这几种名词进行合并,只给出了最贴切的名词. 1 S7-CPU 操作模 ...

  2. GPS : 热启动 冷启动,暖启动

    关于冷启动.暖启动和热启动的一种解释 ( 转自指北针导航) GPS接收机的启动时间是一个目前比较混乱,同时如果不具备一定的GPS知识比较难以理解的一个概念.本文借助于外文的一些解释,希望能够用比较简单 ...

  3. GPS接收机热启动、温启动、冷启动三种启动方式的区别

    众所周知GPS接收机定位的时候,需要两种基本信息,一种卫星星历和卫星的观测数据(伪距.载波相位.测距码).定位的条件星历和卫星的观测数据,缺一不可. 卫星星历是用来描述卫星轨道的参数,用这些参数可以计 ...

  4. 韦东山衔接班——3.4_linux内核启动流程分析之内核启动

    作者:GWD 时间:2018.8.25 一.汇编部分到第一个C之前准备 1.问:内核的工作 答 2.问:为什么有两个head.S 答:其中一个是自解压代码,运行时先解压内核 3.uboot中将参数写入 ...

  5. GPS 冷启动 热启动 温启动 的区别

    [问题]最近调试GPS模块发现这样一个问题,昨天我还能定位,但是今天就无法定位了 一般是上一次使用的时候没有正常关闭GPS.请重新启动设备后再连接一下,如果还是不行就对GPS进行冷启动处理.在今后的使 ...

  6. Activity启动流程:Hook实现启动未注册Activity

    Android中插件化的简单实现:启动未注册的Activity 前言 本文介绍在Android中启动未在AndroidManifest中注册的Activity的一个解决方案.主要需要掌握以下知识点: ...

  7. Android入门之APP启动流程

    俗话说,要想优化好,流程不可少.作为一款App的开发者,首先要把它的启动流程做好了,简单明了的启动流程不仅拥有很好的体验感,还能获得更多用户对App的肯定.本篇文章就带大家了解下app启动流程的三个进 ...

  8. 安卓系统应用启动流程分析

    随着移动开发的兴起,安卓系统的重要性愈加突显.本文简要介绍安卓系统上应用启动流程,对于应用开发.系统定制以及性能优化人员来说,熟悉应用启动流程会使得在今后的工作中更加得心应手,做到知其然,知其所以然. ...

  9. Linux内核启动流程(待完善)

    文章目录 一.Linux内核自解压过程 二.Linux内核启动第二阶段stage1 2.1.linux系统启动入口函数(stext) 2.2.内核初始化阶段(start_kernel) 2.3.2 r ...

最新文章

  1. matlab学习日记,MATLAB学习笔记---DAY1
  2. Linux-awk及内置变量
  3. 瓜分60万现金大奖,云原生编程挑战赛等你来挑战!
  4. docker网络--理解linux底层实现机制、docker网络模式
  5. java io flush_《文件传输基础——Java IO流》,对其中flush方法的思考
  6. 利于前台开发的两大工具flex和vue
  7. Binary tree paths-深度优先遍历DFS
  8. y53拆机视频教程_戴尔笔记本P35G拆机全过程图解
  9. 5S现场管理之车间现场标准化管理的六大执行要点
  10. ClientToScreen ()与 ScreenToClient()
  11. 栈:后进先出的线性表
  12. 【云原生】—— 学习云计算应用开发你需要掌握的五大技能
  13. 星际争霸2中文版下载 – 即时战略游戏超大作 (繁体含中文语音)
  14. jpgraph 折线图--解决中文乱码的问题(标题和图例)
  15. DSPE-PEG8-Mal包含DSPE和马来酰亚胺基团
  16. 计算机丢失mfc140ud.dll,mfc140ud.dll
  17. python教学小说05 宽容之心,是容纳世界的神奇变量。
  18. 现代服务业行业税收筹划,信息技术公司节税方案
  19. Dota全图那些事儿
  20. Cocos2dx游戏开发系列笔记5:继续润色《忍者飞镖射幽灵》

热门文章

  1. 如何删除chrome地址栏里面曾经输错的地址
  2. 关于某些域环境下Windows Hello无法使用的解决方法
  3. Java关键字介绍之final
  4. oracle地址已被占用,Listener Tns-12542:Tns:地址已被占用
  5. 查看无线网卡是否支持监听模式
  6. Xamarin中VS无法连接Mac系统的解决办法
  7. base64编码 vba_VB VBA ASP 可通用的基于Base64进行加密和解密的函数
  8. 计算几个变量之间的相关系数,计算协方差矩阵时:TypeError: cannot perform reduce with flexible type
  9. linux 内存 实例,内存管理与使用实例
  10. 《星球大战:前线2》预告片发布