什麼是android
Android 是一個專門針對移動裝置的軟體集,它包括一個作業系統,中間件和一些重要的應用程式。
Dalvik
Dalvik是基于寄存器的虛拟機,Dalvik 經過優化,允許在有限的記憶體中同時運作多個虛拟機的執行個體,并且每一個Dalvik應用作為一個獨立的Linux 程序執行。獨立的程序可以防止在虛拟機崩潰的時候所有程式都被關閉
Apk檔案
Apk 是Android 安裝包的擴充名,一個Android 安裝包包含了與某個Android 應用程式相關的所有檔案。apk檔案将AndroidManifest.xml 檔案、應用程式代碼(.dex 檔案)、資源檔案和其他檔案打成一個壓縮包。一個工程隻能打進一個.apk 檔案。
Dex檔案
Android 虛拟機 Dalvik 支援的位元組碼檔案格式是dex 格式的位元組碼。在編譯Java 代碼之後,通過Android 平台上的dx工具可以将Java位元組碼轉換成Dex 位元組碼。
Activity
一個活動通常就是一個單獨的螢幕。每一個活動都被實作為一個獨立的類,并且從活動基類中繼承而來,活動類将會顯示由視圖控件組成的使用者接口,并對事件做出響應。大多數的應用是由多個螢幕顯示組成。
Intent
調用Android 專有類Intent 進行架構螢幕之間的切換。Intent 是描述應用想要做什麼。Intent 資料結構兩個最重要的部分是動作和動作對應的資料。Android 使用了Intent 這個特殊類,實作在螢幕與螢幕之間移動。Intent 類用于描述一個應用将會做什麼事。
Bundle
Bundle是Android開發中的一個類,用于Activity之間傳輸資料用。
Android的生命周期
1.當一個Activity 在螢幕的最上層時(對堆棧的最頂端),它就是屬于active 或者running 的狀态。
2. 如果一個Activity 失去焦點(focus)但還看得到它的畫面(比如:一個新的Activity 畫面并不是全螢幕或者它是一個半透明的情況),那失去焦點的Activity則處在paused 的狀态。像這個失去焦點的Activity它還是完全活着的,并沒有消失。(活着的意思是指,Activity 自己本身所有的狀态及資料都還是存在的,也跟視窗管理程式windowmanager 保持聯系着),像這種paused 的Activity,會在一種情況下消失,那就是當系統的記憶體不夠用之時,系統會自動判斷,把不重要的Activity 移除。
3. 如果一個Activity 被其它的Activity 完全的遮蓋住時,它仍然保有全部的狀态及資料,但因為它已不再被使用者看見,是以它的畫面是被隐藏起來的(畫面不需要更新),當系統記憶體不足時,這種stop 狀态的Activity 時最先被系統考慮拿下來釋放記憶體的。
4.當一個Activity 處于pause 或stop 的狀态時,系統可以要求Activity 結束(finish)或直接移除(kill)它。當它需要再度呈現在使用者面前時,它必須要能完整的重新啟動及回複先前的狀态

服務
服務是運作在背景的一段代碼。它可以運作在它自己的程序,也可以運作在其他應用程式的上下文(context)裡面,這取決于自身的需要。其他的元件可以綁定到一個服務(Service)上面,通過遠端過程調用(RPC)來調用這個方法。例如:媒體播放器的服務,當使用者退出媒體選擇使用者界面,仍然希望音樂可以繼續播放,這時就是由服務(Service)來保證當使用者界面關閉時音樂繼續播放的。