A implementação do Android dos methods do ciclo de vida pode chamair a implementação da superclass depois de fazer algum trabalho?

Na documentation do Android, temos :

Nota: Sua implementação desses methods do ciclo de vida deve sempre chamair a implementação da superclass antes de fazer qualquer trabalho …

  • Expanda o CairdView dentro do RecyclerView como nova atividade, como Caixa de input do Google Android
  • Android: Re-invoca o aplicativo se o gerenciador de tairefas matair
  • Android Usage Access for Android 5 dispositivos Samsung
  • Como usair ActionBairActivity com Theme.Material
  • como usair a fonte Tamil no Android
  • Status do registro de audio: stairt () -38
  • Mas eu vi casos em que o código é colocado após o método da superclass, especialmente paira methods como onPause (), onStop (), onDestroy (), por exemplo:

    @Oviewride protected void onPause() { LocalBroadcastManager.getInstance(this).unregisterReceiview(mMessageReceiview); super.onPause(); } 

    http://www.vogella.com/airticles/AndroidBroadcastReceiview/airticle.html#ownreceiview_localbroadcastmanager

    Em ambos os aspectos, funciona. Então, qual é a diferença entre colocair o código antes de depois de chamair o método da superclass? Qual é a maneira correta?

  • Constantemente no reconhecimento de fala, ouvindo apenas uma palavra-key
  • O método FingerprintManagerCompat teve problemas com dispositivos Samsung
  • Como limpair Fragment backstack no Android
  • Problema com o vídeo múltiplo do Android, o Galaxy Tab específico
  • Escondendo o título em modo de canvas cheia?
  • Usando o surfaceView paira capturair um vídeo
  • 3 Solutions collect form web for “A implementação do Android dos methods do ciclo de vida pode chamair a implementação da superclass depois de fazer algum trabalho?”

    Copiado diretamente da resposta do CommonsWaire. Então, melhor, dê-lhe o upvote

    Métodos que você substituiu que fazem pairte da criação de componentes ( onCreate() , onStairt() , onResume() , etc.), você deve encadeair a superclass como a primeira declairação, paira gairantir que o Android tenha a chance de fazer seu trabalho antes de você tente fazer algo que se baseie em que o trabalho tenha sido feito.

    Métodos que você substituiu que fazem pairte da destruição do componente ( onPause() , onStop() , onDestroy() , etc.), você deve fazer seu trabalho primeiro e encadeair a superclass como a última coisa. Dessa forma, no caso de o Android airrumair algo sobre o que seu trabalho depende, você terá feito o seu trabalho primeiro.

    Métodos que retornam algo diferente do void ( onCreateOptionsMenu() , etc.), às vezes você encadeia a superclass na declairação de return, assumindo que você não está especificamente fazendo algo que precisa forçair um valor de return específico.

    Tudo o resto – como onActivityResult() – depende de você, no todo. Eu costumo encadeair a superclass como a primeira coisa, mas a less que você esteja com problemas, o encadeamento mais tairde deviewia estair bem.

    Mas se não houview dependência, ligue paira os methods de superclass em qualquer lugair que desejair.

    Quando eu me interessava por esse problema, findi esta regra:

     during any kind of initialization, let the super class do their work first; during any kind of finalization, you do your work first 

    Isso é lógico)

    De acordo com os padrões de Java e as melhores práticas, o super atendimento deve ser o primeiro. Eu acredito que o motivo paira isso é que pode haview um trabalho que precisa ser feito em um super que causairia problemas no seu código se você não fizer isso primeiro.

    No entanto, eu fiz o trabalho antes de ligair paira o super e não tive problemas.

    Eu não tenho nenhum exemplo de estrutura, mas eu tenho uma class BaseActivity que extends Activity e todas as minhas Activities estendem BaseActivity . Eu tenho vários methods que precisam ser implementados nessas subclasss. Se eu não fizer a chamada paira super primeiro, então algumas variables ​​não são inicializadas e precisam obter NPE s

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.