安卓的乙個程序等級

2022-05-08 17:09:14 字數 1560 閱讀 7316

1) active process

? 正處於activity resume() 狀態

? 正處於與bound服務互動的狀態

? 正處於服務在前台執行的狀態 , (startforeground() 被呼叫)

? service生命週期函式正在被執行 (

? broadcastreceiver 正在執行onreceive()方法oncreate() , onstart() , ondestroy())

殺死foreground process 需要使用者響應-因為這個安全優先順序是最高的

2) visible process

當前程序不是焦點程序,activity 不在前端顯示 , 但也沒有完全隱藏,能夠看得見,比如彈出乙個對話方塊 。(input method)

乙個bound到visible 或者 foreground 的activity的 service 

3) service process

正在執行的,不在上述兩種狀態的service

4) background process

不可見狀態的activity程序,又沒有任何相關service執行的(onstop()被呼叫),系統有個後台程序列表,一般情況採取後進先出的原則來釋放後台程序資源 

5) empty process

沒有執行任何components的程序,保留這個程序主要是為了快取的需要

///////////////////////

在android中每個介面都是乙個activity,切換介面操作其實是多個不同activity之間的例項化操作。在android中activity的啟動模式決定了activity的啟動執行方式。

android總activity的啟動模式分為四種:

activity啟動模式設定:

activity的四種啟動模式:

1. standard

模式啟動模式,每次啟用activity

時都會建立

activity

,並放入任務棧中。

2. singletop

如果在任務的棧頂正好存在該activity

的例項, 就重用該例項,否者就會建立新的例項並放入棧頂

(即使棧中已經存在該

activity

例項,只要不在棧頂,都會建立例項)。

3. singletask

如果在棧中已經有該activity

的例項,就重用該例項

(會呼叫例項的

onnewintent())

。重用時,會讓該例項回到棧頂,因此在它上面的例項將會被移除棧。如果棧中不存在該例項,將會建立新的例項放入棧中。 

4. singleinstance

在乙個新棧中建立該activity

例項,並讓多個應用共享改棧中的該

activity

例項。一旦改模式的

activity

的例項存在於某個棧中,任何應用再啟用改

activity

時都會重用該棧中的例項,其效果相當於多個應用程式共享乙個應用,不管誰啟用該

activity

都會進入同乙個應用中。

新建乙個安卓工程

2.設定工程資訊 project name 工程名 package name 包名 minimum required sdk 最低sdk ver target required sdk 最高 sdk ver compile with 編譯sdk ver 3.配置工程 create custom la...

第乙個安卓程式

xmlns android package com.example.helloandroid android versioncode 1 android versionname 1.0 android minsdkversion 8 android targetsdkversion 18 andro...

學習安卓乙個月的感悟

安卓學習記錄01 學習安卓已經有乙個月的時間了,這乙個月內,我從安卓的介面設計學起,學習了安卓的五大布局和一些控制項的使用,之後還學習了activty的相關知識,他的生命週期,載入模式等等,此外還有touch,gesture,縮放的相關知識。為了滿足好奇心,我把 瘋狂安卓講義 這本書都看了一整遍,了...