android面試題大全

才智咖 人氣:9.72K

如果後臺的Activity由於某原因被系統回收了,如何在被系統回收之前儲存當前狀態?

android面試題大全

如何將一個Activity設定成視窗的樣式。(Edited by Sodino)

如何退出Activity?如何安全退出已呼叫多個Activity的Application?

請介紹下Android中常用的五種佈局。

請介紹下Android的資料儲存方式。(Edited by Sodino)

請介紹下ContentProvider是如何實現資料共享的。(Edited by Sodino)

如何啟用Service,如何停用Service。(Edited by Sodino)

註冊廣播有幾種方式,這些方式有何優缺點?請談談Android引入廣播機制的用意。

請解釋下在單執行緒模型中Message、Handler、Message Queue、Looper之間的關係。

AIDL的全稱是什麼?如何工作?能處理哪些型別的資料?

請解釋下Android程式執行時許可權與檔案系統許可權的區別。(Edited by Sodino)

系統上安裝了多種瀏覽器,能否指定某瀏覽器訪問指定頁面?請說明原由。

嵌入式作業系統記憶體管理有哪幾種,各有何特性 ?

頁式,段式,段頁,用到了MMU,虛擬空間等技術

什麼是嵌入式實時作業系統, Android 作業系統屬於實時作業系統嗎?

嵌入式實時作業系統是指當外界事件或資料產生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系統作出快速響應,並控制所有實時任務協調一致執行的嵌入式作業系統。主要用於工業控制、軍事裝置、 航空航天等領域對系統的.響應時間有苛刻的要求,這就需要使用實時系統。又可分為軟實時和硬實時兩種,而android是基於linux核心的,因此屬於軟實時。

一條最長的簡訊息約佔多少byte?

中文70(包括標點),英文160個位元組

android中的動畫有哪幾類,它們的特點和區別是什麼?

兩種,一種是Tween動畫、還有一種是Frame動畫。Tween動畫,這種實現方式可以使檢視元件移動、放大、縮小以及產生透明度的變化;另一種Frame動畫,傳統的動畫方法,通過順序的播放排列好的圖片來實現,類似電影。

handler機制的原理

andriod提供了 Handler 和 Looper 來滿足執行緒間的通訊。Handler 先進先出原則。Looper類用來管理特定執行緒內物件之間的訊息交換(Message Exchange)。 1)Looper: 一個執行緒可以產生一個Looper物件,由它來管理此執行緒裡的Message Queue(訊息佇列)。 2)Handler: 你可以構造Handler物件來與Looper溝通,以便push新訊息到Message Queue裡;或者接收Looper從Message Queue取出)所送來的訊息。 3) Message Queue(訊息佇列):用來存放執行緒放入的訊息。 4)執行緒:UI thread 通常就是main thread,而Android啟動程式時會替它建立一個Message Queue。

說說mvc模式的原理,

它在android中的運用 MVC(Model_view_contraller)” 模型_檢視_控制器”。 MVC應用程式總是由這三個部分組成。Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要 Controller改變了Models的資料或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會 從潛在的Model中獲取資料來重新整理自己

(View重繪和記憶體洩露面試經常問的問題 )

View的重新整理:

在需要重新整理的地方,使用handle.sendmessage傳送資訊,然後在handle的getmessage裡面執行invaliate或者postinvaliate。

可以呼叫invalidate()和postInvalidate()這兩個方法重新整理

GC記憶體洩露 出現情況:

1).資料庫的cursor沒有關閉

2).構造adapter時,沒有使用快取contentview 衍生listview的優化問題-----減少建立view的物件,充分使用contentview,可以使用一靜態類來優化處理getview的過程/

3).Bitmap物件不使用時採用recycle()釋放記憶體

4).activity中的物件的生命週期大於activity 除錯方法: DDMS==> HEAPSZIE==>dataobject==>[Total Size]