Android用程式碼測試Activity的生命週期
阿新 • • 發佈:2018-12-12
Activity的生命週期圖
程式碼測試Activity的生命週期
測試用例:
1)介面從“死亡”-->“執行" (開啟介面)
2) 介面從“執行”-->“死亡" (點選返回鍵)
3) 介面從“執行”-->“停止" (點選home鍵)
4) 介面從“停止” -->“執行"(長按home鍵返回介面)
5) 介面從“執行”-->“暫停" (開啟一個對話方塊)
6) 介面從“暫停” -->“執行"(從對話方塊返回)
程式碼如下:
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; /** * * @author Administrator 1)介面從“死亡”-->“執行" 建立物件-->onCreate()-->onStart()-->onResume()---可見可操作(執行狀態) 2) 介面從“執行”-->“死亡" onPause()-->onStop()-->onDestroy()-->Activity物件成為垃圾物件---不可見也不存在死亡狀態) 3) 介面從“執行”-->“停止" onPause()-->onStop()---不可見但存在 4) 介面從“停止” -->“執行" onRestart()-->onStart()-->onResume() 5) 介面從“執行”-->“暫停" onPause() 6) 介面從“暫停” -->“執行" onResume() 重要的: 1. onCreate(): 在Activity物件建立後呼叫, 只執行一次 2. onDestroy(): 在Activity死亡之前呼叫, 只執行一次 3. onResume(): 介面只有經歷此方法才能可見可操作 */ public class MainActivity extends Activity{ public MainActivity() { Log.e("TAG", "MainActivity()"); } @Override protected void onCreate(Bundle savedInstanceState) { Log.e("TAG", "onCreate()"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onStart() { Log.e("TAG", "onStart()"); super.onStart(); } @Override protected void onResume() { Log.e("TAG", "onResume()"); super.onResume(); } @Override protected void onPause() { Log.e("TAG", "onPause()"); super.onPause(); } @Override protected void onStop() { Log.e("TAG", "onStop()"); super.onStop(); } @Override protected void onRestart() { Log.e("TAG", "onRestart()"); super.onRestart(); } @Override protected void onDestroy() { Log.e("TAG", "onDestroy()"); super.onDestroy(); } public void startSecond(View v) { startActivity(new Intent(this, SecondActivity.class)); } }
Activity生命週期與狀態
注:此文章來自尚矽谷http://www.atguigu.com/課程學習資料總結