我正在尝试创建一个应用程序,该应用程序读取当前正在运行的应用程序并记录它在一天中的活动时间。
我决定使用ActivityManager(因为显然它是唯一的方法)。我已经发现/想到了各种实现,并且在决定哪种方式是关于电池消耗的最佳方式时有一些问题,因为这项服务将在手机开启的整个时间内运行。例如,找到一种在屏幕关闭时服务不会轮询的方式
1)Service w/ Timer。我认为这是一个很好的方式来轮询ActivityManager,但是如果它在服务中运行,那么服务会阻止应用程序的主线程吗?
2)让服务射出一个线程,该线程将轮询ActivityManager然后再睡眠2秒
3)Service w/ PendingIntent and AlarmManager
简而言之,哪种方法最有效,为什么?