点击查看第一章
点击查看第二章

第3章

$AppStart、$AppEnd全埋点方案
对于$AppStart 和$AppEnd 事件而言,归根结底就是判断当前应用程序是处于前台还是处于后台。而 Android 系统本身并没有给应用程序提供相关的接口来判断这些状态,所以我们只能借助其他方式来间接判断。
目前,业界也有很多种方案用来判断一个应用程序是处于前台还是后台,以 Github 上的一个开源项目为例:https://github.com/wenmingvs/AndroidProcess
这个开源项目提供了 6 种方案。这 6 种方案的综合对比可以参考表3-1。

image.png

以上6种方案,各有优缺点,但都无法解决我们最关心的几个问题:
□应用程序如果有多个进程该如何判断?
□应用程序如果发生崩溃了该如何判断?
□应用程序如果被强杀了又该如何判断?

3.1 原理概

收藏 打印