藝術(shù)網(wǎng)站制作北京seo產(chǎn)品
android:excludeFromRecents
- 基礎(chǔ)
- 從根上影響 Task
- excludeFromRecents 屬性可能會影響系統(tǒng)
基礎(chǔ)
android:excludeFromRecents
是一種在Android應(yīng)用程序清單文件(AndroidManifest.xml)中使用的屬性,用于指定一個Activity是否應(yīng)該在最近任務(wù)列表(Recents)中排除顯示。將這個屬性設(shè)置為"true"表示該Activity不會出現(xiàn)在最近任務(wù)列表中,而設(shè)置為"false"或省略該屬性則允許Activity在最近任務(wù)列表中顯示。
示例:
<activityandroid:name=".YourActivity"android:excludeFromRecents="true"><!-- Other activity attributes and configurations -->
</activity>
在上述示例中,YourActivity
將被排除在最近任務(wù)列表之外。此屬性通常用于那些不希望用戶通過最近任務(wù)列表導(dǎo)航到的特定Activity,例如一些臨時性的或不需要頻繁切換的Activity。
從根上影響 Task
excludeFromRecents 設(shè)置成 true 必須是在 task 的根 activity。
官方文檔中對 excludeFromRecents 屬性的說明如下:
是否應(yīng)將該 Activity 啟動的任務(wù)排除在最近使用的應(yīng)用列表(即概覽屏幕)之外。 也就是說,當(dāng)該 Activity 是新任務(wù)的根 Activity 時,此屬性確定任務(wù)是否應(yīng)出現(xiàn)在最近使用的應(yīng)用列表中。 如果應(yīng)將任務(wù)排除在列表之外,請?jiān)O(shè)置“ true ”;如果應(yīng)將其包括在內(nèi),則設(shè)置“ false ”。 默認(rèn)值為“ false ”。
從這段說明可以看出,excludeFromRecents 屬性的作用是將該 Activity 啟動的任務(wù)排除在最近使用的應(yīng)用列表之外。而任務(wù)是指由同一個應(yīng)用程序啟動的一系列 Activity。因此,如果將 excludeFromRecents 屬性設(shè)置為 true,則該 Activity 啟動的所有后續(xù) Activity 都將不會出現(xiàn)在最近使用的應(yīng)用列表中。
如果在非根 Activity 中設(shè)置 excludeFromRecents 屬性,則該屬性不會起作用。這是因?yàn)榉歉?Activity 所屬的任務(wù)已經(jīng)存在,而 excludeFromRecents 屬性只能影響新創(chuàng)建的任務(wù)。
從 Android 8.0(API 級別 26)開始,excludeFromRecents 屬性還會影響該 activity 啟動的后續(xù) activity。也就是說,如果設(shè)置了 excludeFromRecents 屬性,那么該 activity 啟動的后續(xù) activity 也會被排除在最近使用的應(yīng)用列表之外。
因此,如果要將某個 Activity 排除在最近使用的應(yīng)用列表之外,必須將該 Activity 設(shè)置為 task 的根 Activity。
excludeFromRecents 屬性可能會影響系統(tǒng)
excludeFromRecents 屬性可能會影響系統(tǒng)。
系統(tǒng)在內(nèi)存不足時會根據(jù)以下幾個因素來決定是否殺死某個應(yīng)用:
- 應(yīng)用的優(yōu)先級
- 應(yīng)用的活躍程度
- 應(yīng)用的資源占用
其中,應(yīng)用的優(yōu)先級是最重要的因素。優(yōu)先級越高的應(yīng)用,越不容易被殺死。
excludeFromRecents 屬性會影響應(yīng)用的優(yōu)先級。當(dāng) excludeFromRecents 屬性設(shè)置為 true 時,應(yīng)用的優(yōu)先級會降低。因此,系統(tǒng)在內(nèi)存不足時可能會優(yōu)先殺死 excludeFromRecents=true 的應(yīng)用。
具體來說,當(dāng) excludeFromRecents 屬性設(shè)置為 true 時,應(yīng)用的優(yōu)先級會降低 1 級。因此,如果應(yīng)用的默認(rèn)優(yōu)先級是 NORMAL,則設(shè)置 excludeFromRecents 屬性后,應(yīng)用的優(yōu)先級會變?yōu)?BACKGROUND。
當(dāng)然,系統(tǒng)是否會殺死 excludeFromRecents=true 的應(yīng)用,還取決于其他因素,比如應(yīng)用的活躍程度和資源占用。如果應(yīng)用非?;钴S,或者占用大量資源,則系統(tǒng)可能會保留該應(yīng)用,即使其優(yōu)先級較低。
總而言之,excludeFromRecents 屬性可能會影響系統(tǒng),但具體影響程度取決于其他因素。