原理如下:
-
在调用系统卸载器卸载应用时,会打印如下信息:
-
03-10 21:44:32.644: I/ActivityManager(1332): Starting activity: Intent { act=android.intent.action.DELETE dat=package:com.dianping.v1 cmp=com.android.packageinstaller/.UninstallerActivity } from pid 14790
-
从打印的信息中我们可以看出,卸载应用的Action是android.intent.action.DELETE,参数是卸载应用的包名package:com.dianping.v1,系统卸载器的活动名称为com.android.packageinstaller.UninstallerActivity。
-
基于以上的研究,我们可以通过check系统的log信息,来检测自己应用被卸载的事件,从而弹出调查问卷。
-
check 系统的log信息,是一件耗时、耗电的Task,如何改进用户的体验呢?省电、低功耗、避免用户用户使用手机时出现卡顿情况,是我们优化的目标。
复制代码
优化的方法有如下几点:
-
1.检测用户手机屏幕状态,锁屏状态,中止工作;屏幕点亮时,开始工作。
-
2.在用户进入关键活动时,启动check系统的log。关键的活动如系统设置中管理应用程序页,应用详情页,系统卸载页。在用户推出关键活动时,停止对log的check。
-
3.为了避免出现卡顿现象,我们每隔1s检测一下当前活动,每读取一条log信息,就yeild交出CPU控制权。
复制代码
解压密码:juapk.com Uninstall.zip (160.97
KB, 下载次数: 0, 售价: 3 金钱) |