Android–onStart方法有什么问题?

Android–onStart方法有什么问题?,第1张

概述我想了解AndroidActivity的生命周期.为此,我创建了Activity,其中我覆盖了所有生命周期方法(onCreate,onStart,onRestart,onResume,onPause,onStop,onDestroy):publicclassSecondActivityextendsAppCompatActivity{@OverrideprotectedvoidonCreate(Bundlesaved

我想了解Android Activity的生命周期.为此,我创建了Activity,其中我覆盖了所有生命周期方法(onCreate,onStart,onRestart,onResume,onPause,onStop,onDestroy):

public class SecondActivity extends AppCompatActivity {    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_second);        Log.d("ActivityTutorial", "onCreate");    }    @OverrIDe    protected voID onStart() {        super.onStart();        Log.d("ActivityTutorial", "onStart");    }    @OverrIDe    protected voID onRestart() {        super.onRestart();        Log.d("ActivityTutorial", "onRestart");    }    @OverrIDe    protected voID onResume() {        super.onResume();        Log.d("ActivityTutorial", "onResume");    }    @OverrIDe    protected voID onPause() {        super.onPause();        Log.d("ActivityTutorial", "onPause");    }    @OverrIDe    protected voID onStop() {        super.onStop();        Log.d("ActivityTutorial", "onStop");    }    @OverrIDe    protected voID onDestroy() {        super.onDestroy();        Log.d("ActivityTutorial", "onDestroy");    }}

我在使用Log.d(…)记录的行上放置了断点.然后我试着调试. onCreate方法没问题 – 它是在创建活动时调用的.

奇怪的情况是开始onStart方法.根据AndroID documentation:“onStart()在活动变得对用户可见时调用.”但是当我调试时,它涉及到onStart方法,但是这个Activity上的button,还不可见.

在调用onStart()方法之后,我认为应该在onResume()上看到它.但按钮不可见.

只有在onResume方法之后,按钮才可见.

所以我的问题是onStart和onResume方法有什么问题?也许我做的事情不是以它应该做的方式做的?

解决方法:

不.onResume()方法使Activity可见.正如您所说,感谢文档:“onStart()在活动变得对用户可见时调用”.

如果你仔细阅读:“onResume()当活动开始与用户交互时调用.”

更新:

Keep in mind that onResume is not the best indicator that your
activity is visible to the user; a system window such as the keyguard
may be in front. Use onWindowFocusChanged(boolean) to kNow for certain
that your activity is visible to the user (for example, to resume a
game).

总结

以上是内存溢出为你收集整理的Android – onStart方法有什么问题?全部内容,希望文章能够帮你解决Android – onStart方法有什么问题?所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1120412.html

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

发表评论

登录后才能评论

评论列表(0条)

保存