状態のドキュメントApplication#onCreate()
:
アプリケーションの開始時、アクティビティ、サービス、またはレシーバー オブジェクト (コンテンツ プロバイダーを除く) が作成される前に呼び出されます。
これは、私が覚えている限り実際に当てはまり、多くのアプリケーションがさまざまなものを初期化するためにこれに依存しています。ただし、この動作は、最新の Android M プレビュー (昨日リリース) で変更されたようです。
アプリケーションが最初にインストールされて起動されるとき、 customは呼び出されませんApplication
。代わりに、最初のものをすぐにonCreate()
起動します。Activity
これは、最初のアプリケーションの起動時にのみ発生します。次のすべてのアプリケーションが動作を開始し、期待どおりに動作し、カスタムApplication
がonCreate()
呼び出されてからActivity
.
コード例
ベースアプリケーション
public class BaseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Log.d("App", "Test: Application.onCreate()");
}
}
最初のアクティビティ
public class FirstActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("App", "Test: Activity.onCreate()");
}
}
アプリ マニフェスト
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="app.package.name" >
<application android:name=".application.BaseApplication" >
[...]
</application>
</manifest>
Logcat 出力
以下のスクリーンショットは、クリーン インストールからアプリを起動し、8 秒後に再度起動した後の Logcat 出力を示しています。