2014-11-06 56 views
0

當用戶按下android手機上的Home按鈕時,我的應用程序活動正面臨一個場景。按Home鍵並重新初始化應用程序

我已經使用OnPause()方法。這是我在用戶按Home鍵時調用的。和正常情況下,當用戶再次啓動應用程序時,它會調用活動的onResume()方法。

但有時,當用戶重新啓動應用程序,它會打開發射活動(而不是調用當前活動。)

所以我很困惑。在我的手機中,它總是調用當前的活動。但有時在另一部手機上,我發現它稱爲啓動器活動,應用程序再次啓動。

如何解決這個問題?難道我做錯了什麼?

+0

你在做onPause()和onResume()方法? Android根據可用內存在不同的手機上以不同方式管理內存。很可能應用程序在它不再處於活動狀態後即被殺死,即使您使用主鍵退出。閱讀活動生命週期以瞭解更多信息。 – Phat7 2014-11-06 02:11:03

+0

您應該保存onPause/onDestroy中的最後一個位置。所以,當用戶回來時,你恢復了最後的位置 – tana 2014-11-06 03:00:08

回答

0

嘗試android:launchMode="singleTop"

正如doc說:

如果活動的一個實例已經存在在目標任務上,該系統的路線通過其onNewIntent調用的意圖,該實例()方法,而比創建活動的新實例。

0

按home鍵是指減少application.It不清楚堆,然後應用程序將轉到的onPause()和的onStop()狀態。當用戶啓動應用程序,它執行的onResume()方法,因爲已經創建應用程序實例。