Android中如何实现app启动优化(android,app,移动开发)

时间:2024-04-29 01:55:36 作者 : 石家庄SEO 分类 : 移动开发
  • TAG :

    Android%E4%B8%AD%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0app%E5%90%AF%E5%8A%A8%E4%BC%98%E5%8C%96

App 启动方式

冷启动

App 没有启动过或 App 进程被杀,系统中不存在该 App 进程,此时启动即为冷启动。需要创建 App 进程,加载相关资源,启动 Main Thread,初始化首屏 Activity 等。在这个过程中,屏幕会显示一个空白的窗口(颜色基于主题),直至首屏 Activity 完全启动。

热启动

热启动意味着 App 进程只是处于后台,系统只是将其从后台带到前台展示给用户。类同与冷启动,在这个过程中,屏幕会显示一个空白的窗口(颜色基于主题),直至 activity 渲染完毕。

温启动

介于冷启动和热启动之间,一般来说在以下两种情况下发生:

用户返回退出了 App,然后又启动。进程可能还在运行,但是 activity 需要重建。

用户退出 App 后,系统可能由于内存原因将 App 杀死,进程和 activity 都需要重启,但是可以在 onCreate 中将被动杀死锁保存的状态(saved instance state)恢复。

启动时间检测

adb

adb shell am start -W [应用报名]/[Activity的全路径名],得到三个时间值:

1、ThisTime

一般和 TotalTime 相同,如果应用启动开启了一个过渡用的全透明页面预处理一些事情,这样会比 TotalTime 小。

2、TotalTime

应用启动时间,包括创建进程、Application 初始化、Activity 初始化到显示。

3、WaitTime

一般比 TotalTime 大,包括系统的耗时。

代码打点

Application 的 attachBaseContext 在应用进程首先创建时调用,可做冷启动的开始打点。

优化

1、布局优化

2、逻辑优化

必要且耗时的逻辑,考虑单独开线程执行

必要不耗时,按优先级高低依次执行

非必要的延迟初始化,等用到再初始化

3、针对冷启动的欺骗效果

使用 placeholder UI

Android 最新的 Material Design 建议使用一个 placeholder UI 来展示给用户直至 App 加载完毕,类似 iOS 的做法。

自定义主题,设置 windowBackground 属性,给 Window 加上背景。

先加载一个不渲染布局的 Activity 作为启动屏

写一个什么都不做的 LogoSplashActivity

在 AndroidManifest.xml 中设置其为启动屏,并加上主题

这样启动屏显示 LogoSplashActivity,本身不渲染布局,显示主题设置的 placehold UI 背景。

本文:Android中如何实现app启动优化的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:HTML div四边加边框怎么实现下一篇:

24 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18