Android全埋点解决方案
上QQ阅读APP看书,第一时间看更新

第3章 $AppStart、$AppEnd全埋点方案

对于$AppStart和$AppEnd事件而言,归根结底就是判断当前应用程序是处于前台还是处于后台。而Android系统本身并没有给应用程序提供相关的接口来判断这些状态,所以我们只能借助其他方式来间接判断。

目前,业界也有很多种方案用来判断一个应用程序是处于前台还是后台,以Github上的一个开源项目为例:https://github.com/wenmingvs/AndroidProcess

这个开源项目提供了6种方案。这6种方案的综合对比可以参考表3-1。

表3-1 6种方案的对比

以上6种方案,各有优缺点,但都无法解决我们最关心的几个问题:

·应用程序如果有多个进程该如何判断?

·应用程序如果发生崩溃了该如何判断?

·应用程序如果被强杀了又该如何判断?