Application的生命周期:
package com.example.starttiming;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.util.Log;
/**
*
04-03 14:41:10.163 8694-8694/com.example.starttiming E/Application_buder: attachBaseContext
04-03 14:41:10.164 8694-8694/com.example.starttiming E/Application_buder: getApplicationContext
04-03 14:41:10.166 8694-8694/com.example.starttiming E/Application_buder: onCreate
04-03 14:41:10.167 8694-8694/com.example.starttiming E/Application_buder: getApplicationContext
04-03 14:41:10.299 8694-8694/com.example.starttiming E/Application_buder: getApplicationContext
*
*/
/**
* Application 和 Activity 的生命周期回调顺序
*
04-03 14:41:10.163 8694-8694/com.example.starttiming E/Application_buder: attachBaseContext
04-03 14:41:10.164 8694-8694/com.example.starttiming E/Application_buder: getApplicationContext
04-03 14:41:10.166 8694-8694/com.example.starttiming E/Application_buder: onCreate
04-03 14:41:10.167 8694-8694/com.example.starttiming E/Application_buder: getApplicationContext
04-03 14:41:10.214 8694-8694/com.example.starttiming E/Activity_buder: attachBaseContext
04-03 14:41:10.285 8694-8694/com.example.starttiming E/Activity_buder: onCreate
04-03 14:41:10.287 8694-8694/com.example.starttiming E/Activity_buder: onStart
04-03 14:41:10.292 8694-8694/com.example.starttiming E/Activity_buder: onResume
04-03 14:41:10.299 8694-8694/com.example.starttiming E/Application_buder: getApplicationContext
04-03 14:41:10.317 8694-8694/com.example.starttiming E/Activity_buder: onAttachedToWindow
04-03 14:41:10.345 8694-8694/com.example.starttiming E/Activity_buder: onResume后的第一帧
04-03 14:41:10.345 8694-8694/com.example.starttiming E/Activity_buder: onWindowFocusChanged
04-03 14:41:12.570 8694-8694/com.example.starttiming E/Activity_buder: onWindowFocusChanged
04-03 14:41:12.571 8694-8694/com.example.starttiming E/Activity_buder: onPause
04-03 14:41:12.943 8694-8694/com.example.starttiming E/Activity_buder: onStop
04-03 14:41:12.944 8694-8694/com.example.starttiming E/Activity_buder: onDestroy
04-03 14:41:12.946 8694-8694/com.example.starttiming E/Activity_buder: onDetachedFromWindow
*
*/
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
Log.e("Application_buder", "attachBaseContext");
}
@Override
public void onCreate() {
super.onCreate();
Log.e("Application_buder", "onCreate");
}
@Override
public void startActivity(Intent intent) {
super.startActivity(intent);
Log.e("Application_buder", "startActivity");
}
@Override
public SharedPreferences getSharedPreferences(String name, int mode) {
Log.e("Application_buder", "getSharedPreferences");
return super.getSharedPreferences(name, mode);
}
@Override
public Context getApplicationContext() {
Log.e("Application_buder", "getApplicationContext");
return super.getApplicationContext();
}
}
MainActivity的生命周期:
package com.example.starttiming;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
/**
*
04-03 14:41:10.214 8694-8694/com.example.starttiming E/Activity_buder: attachBaseContext
04-03 14:41:10.285 8694-8694/com.example.starttiming E/Activity_buder: onCreate
04-03 14:41:10.287 8694-8694/com.example.starttiming E/Activity_buder: onStart
04-03 14:41:10.292 8694-8694/com.example.starttiming E/Activity_buder: onResume
04-03 14:41:10.317 8694-8694/com.example.starttiming E/Activity_buder: onAttachedToWindow
04-03 14:41:10.345 8694-8694/com.example.starttiming E/Activity_buder: onResume后的第一帧
04-03 14:41:10.345 8694-8694/com.example.starttiming E/Activity_buder: onWindowFocusChanged
04-03 14:41:12.570 8694-8694/com.example.starttiming E/Activity_buder: onWindowFocusChanged
04-03 14:41:12.571 8694-8694/com.example.starttiming E/Activity_buder: onPause
04-03 14:41:12.943 8694-8694/com.example.starttiming E/Activity_buder: onStop
04-03 14:41:12.944 8694-8694/com.example.starttiming E/Activity_buder: onDestroy
04-03 14:41:12.946 8694-8694/com.example.starttiming E/Activity_buder: onDetachedFromWindow
*/
public class MainActivity extends AppCompatActivity {
long time = System.currentTimeMillis();
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(newBase);
Log.e("Activity_buder", "attachBaseContext " + (System.currentTimeMillis() - time));
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e("Activity_buder", "onCreate " + (System.currentTimeMillis() - time));
//
getWindow().getDecorView().post(new Runnable() {
@Override
public void run() {
Log.e("Activity_buder", "onResume后的第一帧 " + (System.currentTimeMillis() - time));
}
});
}
@Override
protected void onStart() {
super.onStart();
Log.e("Activity_buder", "onStart " + (System.currentTimeMillis() - time));
}
@Override
protected void onResume() {
super.onResume();
Log.e("Activity_buder", "onResume " + (System.currentTimeMillis() - time));
}
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
Log.e("Activity_buder", "onAttachedToWindow " + (System.currentTimeMillis() - time));
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
Log.e("Activity_buder", "onWindowFocusChanged " + (System.currentTimeMillis() - time));
}
@Override
protected void onPause() {
super.onPause();
Log.e("Activity_buder", "onPause " + (System.currentTimeMillis() - time));
}
@Override
protected void onStop() {
super.onStop();
Log.e("Activity_buder", "onStop " + (System.currentTimeMillis() - time));
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.e("Activity_buder", "onDestroy " + (System.currentTimeMillis() - time));
}
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
Log.e("Activity_buder", "onDetachedFromWindow " + (System.currentTimeMillis() - time));
}
}