Neden onRestts () ve onCreate () yöntemlerinden sonra onStart () dışında onResume () çağrılmıyor? Amacı nedir?
Tamam, ilk cevabım oldukça uzun olduğu için daha fazla genişletmeyeceğim, hadi bunu deneyelim ...
public DriveToWorkActivity extends Activity
implements onReachedGroceryStoreListener {
}
public GroceryStoreActivity extends Activity {}
LÜTFEN AKLINIZDA BULUNDURUN: Kasıtlı olarak super.onCreate(...)vb. ;)
Aşağıdaki yöntemler DriveToWorkActivity...
protected void onCreate(...) {
openGarageDoor();
unlockCarAndGetIn();
closeCarDoorAndPutOnSeatBelt();
putKeyInIgnition();
}
protected void onStart() {
startEngine();
changeRadioStation();
switchOnLightsIfNeeded();
switchOnWipersIfNeeded();
}
protected void onResume() {
applyFootbrake();
releaseHandbrake();
putCarInGear();
drive();
}
protected void onPause() {
putCarInNeutral();
applyHandbrake();
}
protected void onStop() {
switchEveryThingOff();
turnOffEngine();
removeSeatBeltAndGetOutOfCar();
lockCar();
}
protected void onDestroy() {
enterOfficeBuilding();
}
protected void onReachedGroceryStore(...) {
Intent i = new Intent(ACTION_GET_GROCERIES, ..., this, GroceryStoreActivity.class);
}
protected void onRestart() {
unlockCarAndGetIn();
closeDoorAndPutOnSeatBelt();
putKeyInIgnition();
}
Tamam, bu yüzden başka bir uzun (üzgünüm millet). Ama işte benim açıklamam ...
onResume()sürüşe başladığım ve onPause()geçici olarak durduğum zamandır. Bu yüzden sürüyorum ve sonra kırmızı bir ışığa ulaşıyorum, duraklıyorum ... Işık yeşil oluyor ve devam ediyorum. Başka bir kırmızı ışık ve ben duruyorum, sonra yeşil, bu yüzden devam ediyorum. onPause() -> onResume() -> onPause() -> onResume()Döngü sıkı biridir ve benim yolculuk boyunca birçok kez meydana gelir.
Yeniden başlatma ile (yolculuğuma devam etmeye hazırlanıyoruz) tekrar tekrar başlatılmaya başlayan döngü belki daha az yaygındır. Bir durumda, Market'i görüyorum ve GroceryStoreActivitybaşlatıldı (benim DriveToWorkActivityiçin zorla onStop()). Mağazadan döndüğümde, devam onRestart()edip onStart()yolculuğuma devam ediyorum.
Ben öyle kodu koyabilirsiniz onStart()hem içine onCreate()ve onRestart()ve geçersiz kılmak rahatsız onStart()ihtiyaçları arasında yapılacak o daha hiç ama onCreate() -> onResume()ve onRestart() -> onResume()daha ben çoğaltarak ediyorum şeyler.
Yani, bir kez daha talep etmek ...
Neden onRestts () ve onCreate () yöntemlerinden sonra onStart () dışında onResume () çağrılmıyor?
Geçersiz kılmazsanız onStart(), etkili olan budur. Her ne kadar onStart()yöntemi Activitydolaylı olarak çağrılsa da, kodunuzdaki etki etkili onCreate() -> onResume()veya onRestart() -> onResume().