2016-03-03 181 views
2

我不確定爲什麼會發生這種情況,但是當我使用Android Studio並單擊紅色的x來終止我的應用程序時,它將重新啓動我的應用程序以執行主要活動。我注意到它只發生在我從主要活動進展到另一個活動時。Android Studio - 殺死進程重新啓動應用程序?

例如,如果我在查看活動A屏幕時嘗試殺死進程,則該進程會在沒有重新啓動的情況下被罰款,但如果我在查看按鈕上的Activity B時終止進程活動A將重新啓動該過程。

爲什麼會出現這種情況?

回答

2

我發現,「終止應用程序」實施爲System.exit(1)

看起來像Android的exit(int)功能是輕輕地實現以保存活動堆棧。

我的看法是,當設備內存不足時,需要「終止應用程序」來調試應用程序重新啓動。因此,它是在這樣的序列非常有用:

  • 啓動應用程序,按「家庭」打開一些活動
  • 隱藏應用
  • Android Studio中終止應用
  • 重新打開設備上的應用程序,應用程序應該恢復最後的活動,而不是 主要的一個

而其應用程序未隱藏時的行爲是不可預知的。這是由於執行exit所致。它保存了部分堆棧,但終止了可見的活動,然後重新啓動應用程序,然後恢復堆棧。

+0

明白了,所以它確實不會終止整個應用程序。我認爲這是一種測試方法,可以針對將應用程序置於特定活動的後臺並嘗試稍後返回的用戶進行測試,這是否正確? –

+0

是的!我剛剛測試了3個和4個已啓動的活動 - 它只會終止最後一個活動。而且,我還假設,這是測試從背景中返回的方式。我正在使用它,並閱讀有關它。 –

+0

太棒了!謝謝,這是我絕對不知道的。 –

相關問題