それは書くために何かを変えますか:
@Override
protected void onDestroy() {
MydbHandler.close();
super.onDestroy();
}
または
@Override
protected void onDestroy() {
super.onDestroy();
MydbHandler.close();
}
それは書くために何かを変えますか:
@Override
protected void onDestroy() {
MydbHandler.close();
super.onDestroy();
}
または
@Override
protected void onDestroy() {
super.onDestroy();
MydbHandler.close();
}
一般的な推奨事項は次のとおりです。
明確な「作成」セマンティクス(たとえば、、、)を持つライフサイクルメソッドの場合onCreate()
、onStart()
最初onResume()
にスーパークラスにチェーンします
明確な「破壊」セマンティクス(たとえば、、、)を持つライフサイクルメソッドonPause()
の場合onStop()
、onDestroy()
作業の後に最後にスーパークラスにチェーンします
他のすべてについては、他に文書化されていない限り、それはうまくいけば問題ではありません
したがって、通常は最初のスニペットを使用する方が適切です。そうは言っても、2番目のスニペットに実際の問題があることはわかりません。実際、Android開発の最初の数年間は同じアプローチを使用しました。
いいえ、この場合は違いはありません。
Activity.onDestroy()のソースコードを(grepcode.comから)チェックアウトできます。onDestroy()は、すべての管理対象ダイアログ、管理対象カーソルを閉じ、SearchManagerを閉じる(開いている場合)だけであることがわかります。