android活动生命周期函数的基础知识

android活动生命周期函数的基础知识,第1张

概述我正在测试这段代码,它显示了一个活动所处的状态publicclassActivity101ActivityextendsActivity{Stringtag="Lifecycle";/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){

我正在测试这段代码,它显示了一个活动所处的状态

public class Activity101Activity extends Activity {    String tag  =  "lifecycle";    /** Called when the activity is first created. */    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);        // setContentVIEw(R.layout.main);        setContentVIEw(R.layout.activity_activity101);        Log.d(tag , "In the onCreate() event");    }    public voID onStart()    {        super.onStart();        Log.d(tag , "In the onStart() event");    }    public voID onRestart()    {         super.onRestart();        Log.d(tag , "In the onRestart() event");    }    public voID onResume()    {         super.onResume();        Log.d(tag , "In the onResume() event");    }    public voID onPause()    {         super.onPause();        Log.d(tag , "In the onPause() event");    }    public voID onStop()    {         super.onStop();        Log.d(tag , "In the onStop() event" );    }    public voID onDestroy()    {         super.onDestroy();        Log.d(tag , "In the onDestroy() event");    }}  

所以我看到只有当活动在屏幕上时按下后退按钮才会调用onDestroy(),否则永远不会调用它.因此,如果我在活动运行时按下主页按钮,它应该在后台运行.但是,如果我去设置 – >应用 – >跑步我无法在列表中看到它.那么这是否意味着它在后台运行?

同样,再次,此代码显示onPause()始终后跟onStop(),而onStart()后跟onResume().那么为什么它们在AndroID环境中被定义为不同的功能而没有合并?

解决方法:

一旦活动进入后台,它就处于暂停模式.所以你在运行应用程序列表中看不到它.一旦你重新启动这样的暂停应用程序,它就会从backstack进入前台并开始运行.它被保留在后台以保持其状态并从它停止的地方恢复,然后进入后台.

要了解原因,在onResume之前需要onStart,请点击以下链接.它会清楚地清除你所有的疑惑:

Difference between onStart() and onResume()

总结

以上是内存溢出为你收集整理的android活动生命周期函数基础知识全部内容,希望文章能够帮你解决android活动生命周期函数的基础知识所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存