辽宁省建设厅网站,网站开发公司按时交付,建设h5网站,银行网站建设app冷启动#xff1a; 当应用启动时#xff0c;后台没有该应用的进程#xff0c;这时系统会重新创建一个新的进程分配给该应用#xff0c; 这个启动方式就叫做冷启动#xff08;后台不存在该应用进程#xff09;。冷启动因为系统会重新创建一个新的进程分配给它#xff…app冷启动 当应用启动时后台没有该应用的进程这时系统会重新创建一个新的进程分配给该应用 这个启动方式就叫做冷启动后台不存在该应用进程。冷启动因为系统会重新创建一个新的进程分配给它所以会先创建和初始化Application类再创建和初始化MainActivity类包括一系列的测量、布局、绘制最后显示在界面上。
app热启动 当应用已经被打开 但是被按下返回键、Home键等按键时回到桌面或者是其他程序的时候再重新打开该app时 这个方式叫做热启动后台已经存在该应用进程。热启动因为会从已有的进程中来启动所以热启动就不会走Application这步了而是直接走MainActivity包括一系列的测量、布局、绘制所以热启动的过程只需要创建和初始化一个MainActivity就行了而不必创建和初始化Application
冷启动的流程 当点击app的启动图标时安卓系统会从Zygote进程中fork创建出一个新的进程分配给该应用之后会依次创建和初始化Application类、创建MainActivity类、加载主题样式Theme中的windowBackground等属性设置给MainActivity以及配置Activity层级上的一些属性、再inflate布局、当onCreate/onStart/onResume方法都走完了后最后才进行contentView的measure/layout/draw显示在界面上
冷启动的生命周期简要流程 Application构造方法 – attachBaseContext()–onCreate –Activity构造方法 – onCreate() – 配置主体中的背景等操作 –onStart() – onResume() – 测量、布局、绘制显示
冷启动的优化主要是视觉上的优化解决白屏问题提高用户体验所以通过上面冷启动的过程。能做的优化如下
1减少 onCreate()方法的工作量
2不要让 Application 参与业务的操作
3不要在 Application 进行耗时操作
4不要以静态变量的方式在 Application 保存数据
5减少布局的复杂度和层级
6减少主线程耗时