android面試題大全
如果后臺的Activity由于某原因被系統回收了,如何在被系統回收之前保存當前狀態(tài)?
如何將一個(gè)Activity設置成窗口的樣式。(Edited by Sodino)
如何退出Activity?如何安全退出已調用多個(gè)Activity的Application?
請介紹下Android中常用的五種布局。
請介紹下Android的數據存儲方式。(Edited by Sodino)
請介紹下ContentProvider是如何實(shí)現數據共享的。(Edited by Sodino)
如何啟用Service,如何停用Service。(Edited by Sodino)
注冊廣播有幾種方式,這些方式有何優(yōu)缺點(diǎn)?請談?wù)凙ndroid引入廣播機制的用意。
請解釋下在單線(xiàn)程模型中Message、Handler、Message Queue、Looper之間的關(guān)系。
AIDL的全稱(chēng)是什么?如何工作?能處理哪些類(lèi)型的數據?
請解釋下Android程序運行時(shí)權限與文件系統權限的區別。(Edited by Sodino)
系統上安裝了多種瀏覽器,能否指定某瀏覽器訪(fǎng)問(wèn)指定頁(yè)面?請說(shuō)明原由。
嵌入式操作系統內存管理有哪幾種,各有何特性 ?
頁(yè)式,段式,段頁(yè),用到了MMU,虛擬空間等技術(shù)
什么是嵌入式實(shí)時(shí)操作系統, Android 操作系統屬于實(shí)時(shí)操作系統嗎?
嵌入式實(shí)時(shí)操作系統是指當外界事件或數據產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結果又能在規定的時(shí)間之內來(lái)控制生產(chǎn)過(guò)程或對處理系統作出快速響應,并控制所有實(shí)時(shí)任務(wù)協(xié)調一致運行的嵌入式操作系統。主要用于工業(yè)控制、軍事設備、 航空航天等領(lǐng)域對系統的響應時(shí)間有苛刻的要求,這就需要使用實(shí)時(shí)系統。又可分為軟實(shí)時(shí)和硬實(shí)時(shí)兩種,而android是基于linux內核的,因此屬于軟實(shí)時(shí)。
一條最長(cháng)的短信息約占多少byte?
中文70(包括標點(diǎn)),英文160個(gè)字節
android中的動(dòng)畫(huà)有哪幾類(lèi),它們的特點(diǎn)和區別是什么?
兩種,一種是Tween動(dòng)畫(huà)、還有一種是Frame動(dòng)畫(huà)。Tween動(dòng)畫(huà),這種實(shí)現方式可以使視圖組件移動(dòng)、放大、縮小以及產(chǎn)生透明度的變化;另一種Frame動(dòng)畫(huà),傳統的動(dòng)畫(huà)方法,通過(guò)順序的播放排列好的圖片來(lái)實(shí)現,類(lèi)似電影。
handler機制的原理
andriod提供了 Handler 和 Looper 來(lái)滿(mǎn)足線(xiàn)程間的'通信。Handler 先進(jìn)先出原則。Looper類(lèi)用來(lái)管理特定線(xiàn)程內對象之間的消息交換(Message Exchange)。 1)Looper: 一個(gè)線(xiàn)程可以產(chǎn)生一個(gè)Looper對象,由它來(lái)管理此線(xiàn)程里的Message Queue(消息隊列)。 2)Handler: 你可以構造Handler對象來(lái)與Looper溝通,以便push新消息到Message Queue里;或者接收Looper從Message Queue取出)所送來(lái)的消息。 3) Message Queue(消息隊列):用來(lái)存放線(xiàn)程放入的消息。 4)線(xiàn)程:UI thread 通常就是main thread,而Android啟動(dòng)程序時(shí)會(huì )替它建立一個(gè)Message Queue。
說(shuō)說(shuō)mvc模式的原理,
它在android中的運用 MVC(Model_view_contraller)” 模型_視圖_控制器”。 MVC應用程序總是由這三個(gè)部分組成。Event(事件)導致Controller改變Model或View,或者同時(shí)改變兩者。只要 Controller改變了Models的數據或者屬性,所有依賴(lài)的View都會(huì )自動(dòng)更新。類(lèi)似的,只要Controller改變了View,View會(huì ) 從潛在的Model中獲取數據來(lái)刷新自己
(View重繪和內存泄露面試經(jīng)常問(wèn)的問(wèn)題 )
View的刷新:
在需要刷新的地方,使用handle.sendmessage發(fā)送信息,然后在handle的getmessage里面執行invaliate或者postinvaliate。
可以調用invalidate()和postInvalidate()這兩個(gè)方法刷新
GC內存泄露 出現情況:
1).數據庫的cursor沒(méi)有關(guān)閉
2).構造adapter時(shí),沒(méi)有使用緩存contentview 衍生listview的優(yōu)化問(wèn)題-----減少創(chuàng )建view的對象,充分使用contentview,可以使用一靜態(tài)類(lèi)來(lái)優(yōu)化處理getview的過(guò)程/
3).Bitmap對象不使用時(shí)采用recycle()釋放內存
4).activity中的對象的生命周期大于activity 調試方法: DDMS==> HEAPSZIE==>dataobject==>[Total Size]
【android面試題大全】相關(guān)文章:
android簡(jiǎn)歷模板08-29
Java面試題大全及答案08-16
java面試題大全帶答案11-07
Android系統架構簡(jiǎn)介08-14
android論文格式11-12
android開(kāi)發(fā)優(yōu)秀簡(jiǎn)歷08-29
android求職簡(jiǎn)歷模板08-29
2017年Java面試題目大全10-12
房產(chǎn)置業(yè)顧問(wèn)面試題庫大全10-05
2016年硬件工程師面試題大全09-24