关于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 在函数中使用return,让后面的代码不再执行

public class HttpUtil { public static void sendHttpRequest(final String address,final HttpCallba...
  • wh1076674227
  • wh1076674227
  • 2016年01月04日 14:15
  • 480

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

关于Android生命周期方法调用return的问题问题描述有三段代码,读者可以先想想会发生什么情况@Override protected void onResume(){ super.onR...
  • FIRE_TRAY
  • FIRE_TRAY
  • 2015年11月18日 12:00
  • 711

Android页面返回上一级的三种方式

一. 首先如果是自己布置一个back的按钮或图片    这个很简单,当然就要自己写回退实现的逻辑,例如back的id为R.id.back,在onClick方法中,switch case中调用fini...
  • u014386544
  • u014386544
  • 2017年03月16日 11:12
  • 2052

Android生命周期中几个重要的函数

终于有时间能够安安静静地写下欠了很久的知识点,以便复习之用,如有不正确的地方,还请批评指正。 熟悉Android,我们要首先弄清楚的几个函数,莫过于这几个生命周期函数。...
  • u014796292
  • u014796292
  • 2016年09月01日 14:51
  • 677

return 局部变量合法,函数返回值的生命周期

一:return 局部变量合法 1:return /* 函数的参数,函数内部定义的局部变量,函数执行完成的时候, 就会被操作系统回收,内存会被其他程序所用 */ void go(int num) { ...
  • qq_36813267
  • qq_36813267
  • 2017年01月07日 13:39
  • 726

Android返回上一页面的方式

三种方式:  1.调用系统使用的Action Bar Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的...
  • CodingNotes
  • CodingNotes
  • 2017年08月30日 09:50
  • 332

Android continue、break、return的区别与使用

一、continue :作用是跳过循环本中剩余的语句而强行执行下一次循环(即:不在执行循环体里continue后面的语句而是跳到下一个循环入口处执行下一个循环)。continue语句只用在for、wh...
  • hanfengzqh
  • hanfengzqh
  • 2016年12月14日 11:15
  • 1113

android studio的安装和java环境变量的配置

文章前面先分享 android studio和JDK的下载地址 JDK: http://yunpan.cn/cJ9fdF59Y7Jt5  访问密码 7901 android studio:  http...
  • u011467384
  • u011467384
  • 2015年03月04日 10:23
  • 1255

JavaBean的生命周期

%@page contentType="text/html;charset=GB2312"%>public class Counter{   private int counter=0;   publ...
  • jifengshuai
  • jifengshuai
  • 2009年08月17日 18:25
  • 3089

android back 返回机制的几种解决方案

方案一: 在activity 中实现onKeyDown @Override public boolean onKeyDown(int keyCode, KeyEvent event) { ...
  • xrl2012
  • xrl2012
  • 2015年11月24日 17:27
  • 261
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Android生命周期方法调用return的问题
举报原因:
原因补充:

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