关于继承的Activity中初始化及生命周期被调用的顺序

本文探讨了Android中继承Activity的初始化及生命周期调用顺序。通过实验展示了MainActivity(继承自BaseMainActivity)启动SecondActivity(继承自BaseSecondActivity)并在不同情况下返回MainActivity的顺序。实验结果显示,onActivityReenter方法的调用与transition有关,未在所有情况下触发。同时,文章提到了抽象Activity的使用注意事项。
摘要由CSDN通过智能技术生成

先附上activity生命周期:
这里写图片描述
试验内容:一个MainActivity(继承自BaseMainActivity)调用SecondActivity(继承自BaseSecondActivity),并back返回MainActivity的顺序。
MainActivity代码如下(其他Activity完全相似):

public class MainActivity   extends BaseMainActivity   {
   


    private Out a = new Out("MainActivity   before static");
    static{
        Log.i("test", "MainActivity   static part");
    }
    private Out b = new Out("MainActivity   after static");

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        Log.i("test", "MainActivity  oncreate");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    protected void onStart() {
        Log.i("test", "MainActivity  onstart");
        super.onStart();
    }

    @Override
    protected void onResume() {
        Log.i("test", "MainActivity  onresume");
        super.onResume();
    }

    @Override
    protected void onRestart() {
        Log.i("test","MainActivity  onrestart");
        super.onRestart();
    }

    @Override
    protected void onDestroy() {
        Log.i("test","MainActivity  ondestroy");
        super.onDestroy();
    }

    @Override
    protected void onStop() {
        Log.i("test","MainActivity  onstop");
        super.onStop();
    }

    @Override
    protected void onPause() {
        Log.i("test", "MainActivity  onpause");
        super.onPause();
    }

    @Override
    public void onActivityReenter(int resultCode, Intent data) 
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值