2
A
回答
2
我想我会在开始时是这样的:
private static long mTotalTime;
private long mStartTime;
@Override
public void onPause() {
super.onPause();
mTotalTime += System.currentTimeMillis() - mStartTime;
}
@Override
public void onResume() {
super.onResume();
mStartTime = System.currentTimeMillis();
}
注意,因为它使用的onPause /的onResume它也将“暂停”的计时器,如果屏幕关闭,如果重新定向等等。取决于你的目的是什么,你可能想使用onCreate()或onDestroy()等其他回调函数,但是请注意,当一个新的活动从现有活动启动时,onDestroy()并不总是被调用。
您可能还想将mTotalTime保存到SharedPreferences,以便即使关闭应用程序也可以保留它。也许是这样的:
private long mStartTime;
@Override
public void onPause() {
super.onPause();
int totalTime = getPreferences(0).getInt("TotalTime",0);
getPreferences(0).edit().putInt("TotalTime", totalTime + System.currentTimeMillis() - mStartTime)
}
@Override
public void onResume() {
super.onResume();
mStartTime = System.currentTimeMillis();
}
4
开始/停止在活动的onResume()
和onPause()
方法中保留的时间。还要安装SCREEN_OFF/SCREEN_ON广播接收器,以便您知道屏幕何时开启和关闭,以及是否启用/禁用您的定时。
相关问题
- 1. 计算在活动或可见div中花费的时间(Javascript)
- 2. 计算在PHP中花费的时间
- 3. 如何当VBA函数花费的时间比时间的长短来计算
- 4. 计算花费时间的总和
- 5. SQL:高效计算花费的时间
- 6. 如何计算用户在应用程序上花费的总时间?
- 7. 如何计算用户在WP7 silverlight应用程序上花费的总时间?
- 8. 如何计算函数在jQuery中花费多少时间?
- 9. 如何计算java中的服务所花费的总时间?
- 10. :app:transformClassesAndResourcesWithProguardForRelease花费太长时间
- 11. ViewResult.ExecuteResult花费太长时间
- 12. getFrameBufferPixels在libgdx中花费太长时间
- 13. 检查活动目录角色花费时间过长
- 14. 调用SignedCMS.Decode花费的时间太长
- 15. 如何计算在iOS中在后台花费的时间应用程序
- 16. 如何终止在vb.net中花费很长时间的代码?
- 17. 如何在页面加载时花费很长时间来娱乐用户?
- 18. INNER JOIN花费更长的时间
- 19. set-aduser花费的时间太长
- 20. ios - generateCGImagesAsynchronouslyForTimes花费的时间太长
- 21. ServletOutputStream花费很长的时间写入
- 22. WHere子句花费更长的时间
- 23. Select语句花费很长的时间
- 24. JTextArea setText(veryLongString)花费的时间太长
- 25. Android Html.fromHtml花费的时间太长
- 26. werkzeug.security.check_password_hash花费的时间太长
- 27. SQL查询花费的时间太长
- 28. SQL查询花费很长的时间
- 29. Oracle count(*)花费的时间太长
- 30. 如何计算和仅有时间戳的总时间长度?
onPause()会在屏幕关闭时自动调用吗? – SZH
我不确定是否在屏幕关闭时调用onPause(),但活动生命周期表明它只在另一个活动占用焦点时才被调用,即使在使用锁定屏幕时,也不会因为屏幕关闭/重新开启。 – mah
@mah,我认为它确实被调用。其他网络线程等将继续运行。虽然也许你会希望这是真实的,所以无所事事不会中断任何事情。嗯。有东西要测试。编辑,虽然你不想让游戏线程继续运行..? – Doomsknight