问题描述
背景
我有一个 Android 应用程序,它在主活动的文本视图中将时间显示为字符串。每过一分钟我都会更新文本。当我的手机上的电源按钮被按下时,手机被锁定并且应用程序暂停(它没有被破坏)。手机解锁后,应用会恢复,一切照常进行。
问题
解锁手机后,应用程序弹出并恢复,但最初,文本视图中显示的时间是应用程序被锁定的时间。大约一秒钟后,我明确设置了恢复时间。
override fun onResume() {
// Try to make the clock update immediately
clockView.text = SimpleDateFormat("h:mm").format(Date())
super.onResume()
}
如何在显示旧值之前更新文本视图? android 是否在做一些时髦的事情,比如在正确恢复/渲染之前显示应用程序的快照?
解决方法
为什么不尝试覆盖 onStart,如果我没记错的话,它是在 onResume 之前调用的,届时应用程序将不会显示给用户。
override fun onStart() {
clockView.text = SimpleDateFormat("h:mm").format(Date())
super.onStart()
}