android – 什么决定了视图实际显示的时间?

android – 什么决定了视图实际显示的时间?,第1张

概述在我的主要活动中,我在onCreate中调用setContentView.然后在onResume中我启动一个服务,如果它是第一次进入服务,它会创建一个警报并停止.我希望在调用setContentView时显示布局,但单步执行调试器表明它在服务返回之前不会出现. 一旦调用setContentView,它是否应该显示? 编辑 似乎在第一个应用程序(MAIN / LAUNCHER)的开头没有调用onWi 在我的主要活动中,我在onCreate中调用setContentVIEw.然后在onResume中我启动一个服务,如果它是第一次进入服务,它会创建一个警报并停止.我希望在调用setContentVIEw时显示布局,但单步执行调试器表明它在服务返回之前不会出现.

一旦调用setContentVIEw,它是否应该显示?

编辑

似乎在第一个应用程序(MAIN / LAUNCHER)的开头没有调用onWindowFocusChanged.
通过调试,似乎发生以下情况: –
MAIN onCreate – onStart – onResume(这是服务启动的地方)
SERVICE类 – onStart – 服务返回
MAIN -onResume – onWindowsFocusChanged(屏幕首次出现)

我看过的图表说活动是从onStart开始的,但第一个活动似乎并非如此.有没有办法强制屏幕在开幕处查看?

解决方法 内容视图是在调用setContentVIEw()之后立即定义的,因此您可以直接从此处开始使用findVIEwByID()并管理用户界面的视图.

但:

> onResume()返回之前不显示视图.这实际上是onResume()的目的之一:每次Activity都在前台时调用它,因此就在实际显示其用户界面之前调用它.
>这并不意味着即使显示UI,此时UI也是可见的.例如,它可以被锁屏隐藏.当用户界面实际可见时(刚刚获得焦点时),将调用onWindowFocusChanged(true).

因此,用户界面显示和可见的时刻介于onResume()(之前调用)和onWindowFocusChanged(true)之间(之后调用).

总结

以上是内存溢出为你收集整理的android – 什么决定了视图实际显示的时间?全部内容,希望文章能够帮你解决android – 什么决定了视图实际显示的时间?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1135744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存