什么';记录在各种屏幕上花费的时间的最佳方式是什么?(Android、Java)

什么';记录在各种屏幕上花费的时间的最佳方式是什么?(Android、Java),java,android,Java,Android,我正在制作一个简单的图库,希望记录人们经常看到的图片(这样我可以更容易地找到这些图片——想想我的最爱) 从表面上看,这似乎很简单——看看一个媒体项目打开的时间,再看看他们点击关闭或滑动到另一个项目的时间;根据该媒体ID记录增量,完成。但这似乎真的很幼稚——如果用户锁定屏幕或应用程序背景会发生什么?有很多方法可以停止查看图像,尝试手动枚举它们是非常脆弱的,并且依赖于可能根本不存在的钩子 这似乎是一个很常见的问题,可能会有一个优雅的解决方案,但谷歌真的很难做到(尝试搜索“Android log sc

我正在制作一个简单的图库,希望记录人们经常看到的图片(这样我可以更容易地找到这些图片——想想我的最爱)

从表面上看,这似乎很简单——看看一个媒体项目打开的时间,再看看他们点击关闭或滑动到另一个项目的时间;根据该媒体ID记录增量,完成。但这似乎真的很幼稚——如果用户锁定屏幕或应用程序背景会发生什么?有很多方法可以停止查看图像,尝试手动枚举它们是非常脆弱的,并且依赖于可能根本不存在的钩子


这似乎是一个很常见的问题,可能会有一个优雅的解决方案,但谷歌真的很难做到(尝试搜索“Android log screen time java”,你就会明白我的意思)。这里有没有一个共同的模式,或者另一个术语来描述我正在尝试做的事情?我的梦想是,当页面加载时,我可以产生一种有目的的方法,当页面被破坏时,它会得到一个回调/一点点执行——不管是什么用户操作导致了这种情况发生。

在谷歌搜索多一点后,正确的方法是(我相信)利用安卓系统,并在任何暂停时停止计时器()、onStop()和onDestroy()。搜索这些关键字应该会得到一些更有用的评论。

“我的梦想是某种神奇的方法”99.9%这不是软件开发的工作原理,但对于极为常见的问题——我认为这是——滚动你自己的也不是一条路。