sandalone sandalone - 6 months ago 19
Android Question

Difference between code before and after super()

Look at the sample codes below

@Override
protected void onPause() {
...some code here...
super.onPause();
}


and

@Override
protected void onPause() {
super.onPause();
...some code here...
}


When I asked about differences in code, I did not mean about the flow of execution, which is abvious.

So what is the real difference between these codes? When is it advised to use your code before
super()
call, and when to use your code after
super()
call? I guess there are situations when this does matter.

Answer

You should not place any of your code before super.onPause(), cause this method lets the system do what it needs to do to properly pause your application. Any code you want to execute in the onPause() callback should be placed after the call to super.onPause(). Hope this helps.

Quote from Activities:

Note: Your implementation of these lifecycle methods must always call the superclass implementation before doing any work, as shown in the examples above.

Comments