![Android全埋点解决方案](https://wfqqreader-1252317822.image.myqcloud.com/cover/578/25123578/b_25123578.jpg)
上QQ阅读APP看书,第一时间看更新
第3章 $AppStart、$AppEnd全埋点方案
对于$AppStart和$AppEnd事件而言,归根结底就是判断当前应用程序是处于前台还是处于后台。而Android系统本身并没有给应用程序提供相关的接口来判断这些状态,所以我们只能借助其他方式来间接判断。
目前,业界也有很多种方案用来判断一个应用程序是处于前台还是后台,以Github上的一个开源项目为例:https://github.com/wenmingvs/AndroidProcess。
这个开源项目提供了6种方案。这6种方案的综合对比可以参考表3-1。
表3-1 6种方案的对比
![](https://epubservercos.yuewen.com/E6473D/13484494303546306/epubprivate/OEBPS/Images/image-0015.jpg?sign=1738845620-UfR8NUXGz7CNkqOQcAi5RIZyuKfkeooK-0-ac9d79050053fe2332bc530c6da87112)
以上6种方案,各有优缺点,但都无法解决我们最关心的几个问题:
·应用程序如果有多个进程该如何判断?
·应用程序如果发生崩溃了该如何判断?
·应用程序如果被强杀了又该如何判断?