我对Android中的任务和进程之间的区别感到有点困惑.
如果我理解正确,任务只是一堆活动.从我到目前为止阅读的内容来看,我认为任务看起来像这样:
| Activity A running in Process P1 |
| Activity B running in Process P2 |
| Activity C running in Process P3 |
Run Code Online (Sandbox Code Playgroud)
所以基本上来自不同进程的活动可以包含在同一个堆栈中.我对么?
另一个问题:"应用程序上下文"的真正含义是什么?过程还是任务?
而最后一个问题:应用程序类(这基本上是一个单)表示进程或任务?
我正在构建一个需要确定应用程序运行时间的应用程序,因此我可以显示他/她使用的应用程序的用户统计信息.我在网上找到了多种解决方案,但这些解决方案存在缺陷.
以下是我找到的两个最佳选择:
使用带有服务的轮询机制.此解决方案似乎电池效率低,并且取决于不推荐使用的方法(因为API级别21):
getRunningTasks(int maximum)
我还在应用程序启动或停止时搜索了一个意图触发,但似乎没有(见摘要).这篇文章证实了这一点.我还找到了一个类:ActivityLifecycleCallbacks,当活动改变状态时,它会获得回调.但这仅适用于内部(在您自己的应用程序中读取)使用.
所以我的想法是使用服务来轮询运行除棒棒糖之外的版本的设备上的当前前台应用程序,并在运行lollipop或更高版本的设备上使用新的API.但这种"服务"理念是否是最好的选择,因为正如我之前所说的,电池效率似乎不高?也许有更好的选择?
FAAS