关于Android生命周期方法调用return的问题

原创 2015年11月18日 12:00:30

关于Android生命周期方法调用return的问题

问题描述

有三段代码,读者可以先想想会发生什么情况

@Override
protected void onResume(){
    super.onResume();
    return;
}
@Override
protected void onResume(){
    return;
    super.onResume();
}
@Override
protected void onResume(){
}

问题解析

第一种情况

这是正常的情况,调用完super.onResume方法后可以根据需求在生命周期方法适当的地方return。

第二种情况

首先这里会有两个错误,一个是不可达语句的我问题,这个在编译的时候就会报出来,删除return使super可达则可以安全运行。

第三种情况

在编译的时候会提示用户这个方法应该调用super.onResuem(),但是不影响编译,而运行时则会抛出异常android.util.SuperNotCalledException。

总结一下

有时候根据需求我们会在生命周期方法中使用return,如上所述,只要调用了super对应的方法如super.onStart(),super.onResume()且这些super方法可达,那么再使用return是没有影响的,程序可以正常运行。如

    @Override
    protected void onStart(){
        super.onStart();
        if(imageView == null)
            return;
    }
    @Override
    protected void onResume(){
        super.onResume();
    }

onStart调用的return此时不会影响onResume的调用的,此时使用return时安全的

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android fragment不执行onResume,onPause

在使用ViewPager+fragment框架时,fragment不执行onResume,onPause,解决办法如下。重载setUserVisibleHint方法@Override publ...
  • jdsjlzx
  • jdsjlzx
  • 2016年07月02日 09:36
  • 7172

android之生命周期(二)onPause()、onResume()、onStop()详解:有实例

原文链接:http://developer.android.com/intl/zh-CN/training/basics/activity-lifecycle/pausing.html Pausin...
  • zhongwn
  • zhongwn
  • 2014年04月14日 16:36
  • 1517

使用return结束一个方法

在java中,可以使用return语句直接结束一个方法的执行。 使用return结束方法示例 public class Method{        public static void mai...

Android 返回return处理

Android手机上提供了返回键, 方便使用者的同时,也给我们开发人员带来了无尽的烦恼。下面几种处理返回的方法: 1. 前Activity不finish, 可以 直接返回       这种方式用在...
  • ewewe90
  • ewewe90
  • 2011年12月08日 13:44
  • 884

android返回键监听中return false,return true的区别

问: public boolean onKeyDown(int keyCode, KeyEvent event){ //截获按键事件 if(keyCode == KeyEvent.KE...

break、continue、return之间的区别与联系

break、continue、return之间的区别与联系 在软件开发过程中,逻辑清晰是非常之重要的。 代码的规范也是非常重要的。往往细节决定成败。在编写代码的时候,一定要理解语言的作用以及使...

关于Fragment调用生命周期方法的一个问题

关于Fragment调用生命周期方法的一个问题

Android的生命周期调用顺序

  • 2015年04月09日 17:28
  • 949KB
  • 下载

android 7个生命周期方法分别在4个阶段按一定的顺序进行调用

android 7个生命周期方法分别在4个阶段按一定的顺序进行调用 4个阶段如下: 1.开始Activity:在这个阶段依次执行3个生命周期方法,分别是onCreate、onSta...

Android之Servic的生命周期和调用方法

Servic简介:Service的生命周期和调用方法
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Android生命周期方法调用return的问题
举报原因:
原因补充:

(最多只允许输入30个字)