android 應用退到後臺,相似最小化

在activity中調用 moveTaskToBack (boolean nonRoot)方法便可將activity 退到後臺,注意不是finish()退出。android

參數爲false表明只有當前activity是task根,指應用啓動的第一個activity時,纔有效;this

若是爲true則忽略這個限制,任何activity均可以有效。spa

moveTaskToBack調用後,task中activity的順序不會發生變化,例如A啓動B,B中調用此方法退到後臺,從新啓動應用會調用B中的onRestart-onStart-onResume方法,不會從新調用onCreate,並且在B中按下back鍵返回的仍是A,這就是退到後臺的功能。orm


另外在activity中按下back鍵,實際是調用了finish方法,應用退出。雖然應用已經退出,但進程沒有被殺死,android中一個應用運行於獨立的一個虛擬機實例中,因此在從新啓動應用時一個類中的靜態對象還保持着運行時的狀態,注意在合適位置復位這些狀態。對象


關於moveTaskToBack 方法,官方API解釋以下:進程

public boolean moveTaskToBack (boolean nonRoot)

Since: API Level 1虛擬機

Move the task containing this activity to the back of the activity stack. The activity's order within the task is unchanged.it

Parameters
nonRoot If false then this only works if the activity is the root of a task; if true it will work for any activity in a task.
Returns
  • If the task was moved (or it was already at the back) true is returned, else false.table

相關文章
相關標籤/搜索