onStart() –> onResume(),用AAA表示(1)父Activity ">
1. 請(qǐng)描述下Activity的生命周期。
必調(diào)用的三個(gè)方法:onCreate() –> onStart() –> onResume(),用AAA表示
(1)父Activity啟動(dòng)子Activity,子Actvity退出,父Activity調(diào)用順序如下
AAA –> onFreeze() –> onPause() –> onStop() –> onRestart() –> onStart(),onResume() …
(2)用戶點(diǎn)擊Home,Actvity調(diào)用順序如下
AAA –> onFreeze() –> onPause() –> onStop() — Maybe –> onDestroy() – Maybe
(3)調(diào)用finish(), Activity調(diào)用順序如下
AAA –> onPause() –> onStop() –> onDestroy()
(4)在Activity上顯示dialog, Activity調(diào)用順序如下
AAA
(5)在父Activity上顯示透明的或非全屏的activity,Activity調(diào)用順序如下
AAA –> onFreeze() –> onPause()
(6)設(shè)備進(jìn)入睡眠狀態(tài),Activity調(diào)用順序如下
AAA –> onFreeze() –> onPause()
2. 如果后臺(tái)的Activity由于某原因被系統(tǒng)回收了,如何在被系統(tǒng)回收之前保存當(dāng)前狀態(tài)?
onSaveInstanceState()
當(dāng)你的程序中某一個(gè)Activity A在運(yùn)行時(shí),主動(dòng)或被動(dòng)地運(yùn)行另一個(gè)新的Activity B,這個(gè)時(shí)候A會(huì)執(zhí)行onSaveInstanceState()。B完成以后又會(huì)來(lái)找A,這個(gè)時(shí)候就有兩種情況:一是A被回收,二是A沒有被回收,被回收的A就要重新調(diào)用onCreate()方法,不同于直接啟動(dòng)的是這回onCreate()里是帶上了參數(shù)savedInstanceState;而沒被收回的就直接執(zhí)行onResume(),跳過onCreate()了。
3. 如何將一個(gè)Activity設(shè)置成窗口的樣式。
在AndroidManifest.xml 中定義Activity的地方一句話android:theme="@android:style/Theme.Dialog"或android:theme="@android:style/Theme.Translucent"就變成半透明的
4. 如何退出Activity?如何安全退出已調(diào)用多個(gè)Activity的Application?
對(duì)于單一Activity的應(yīng)用來(lái)說(shuō),退出很簡(jiǎn)單,直接finish()即可。
當(dāng)然,也可以用killProcess()和System.exit()這樣的方法。
5. 請(qǐng)介紹下Android中常用的五種布局。
FrameLayout(框架布局),LinearLayout (線性布局),AbsoluteLayout(絕對(duì)布局),RelativeLayout(相對(duì)布局),TableLayout(表格布局)
6. 請(qǐng)介紹下Android的數(shù)據(jù)存儲(chǔ)方式。
一.SharedPreferences方式
二.文件存儲(chǔ)方式
三.SQLite數(shù)據(jù)庫(kù)方式
四.內(nèi)容提供器(Content provider)方式
五. 網(wǎng)絡(luò)存儲(chǔ)方式
7. 請(qǐng)介紹下ContentProvider是如何實(shí)現(xiàn)數(shù)據(jù)共享的。
創(chuàng)建一個(gè)屬于你自己的Content provider或者將你的數(shù)據(jù)添加到一個(gè)已經(jīng)存在的Content provider中,前提是有相同數(shù)據(jù)類型并且有寫入Content provider的權(quán)限。
8. 如何啟用Service,如何停用Service。
9. 注冊(cè)廣播有幾種方式,這些方式有何優(yōu)缺點(diǎn)?請(qǐng)談?wù)凙ndroid引入廣播機(jī)制的用意。
10. 請(qǐng)解釋下在單線程模型中Message、Handler、Message Queue、Looper之間的關(guān)系。
11. AIDL的全稱是什么?如何工作?能處理哪些類型的數(shù)據(jù)?
12. 請(qǐng)解釋下Android程序運(yùn)行時(shí)權(quán)限與文件系統(tǒng)權(quán)限的區(qū)別。
13. 系統(tǒng)上安裝了多種瀏覽器,能否指定某瀏覽器訪問指定頁(yè)面?請(qǐng)說(shuō)明原由。
14. 有一個(gè)一維整型數(shù)組int[]data保存的是一張寬為width,高為height的圖片像素值信息。請(qǐng)寫一個(gè)算法,將該圖片所有的白色不透明(0xffffffff)像素點(diǎn)的透明度調(diào)整為50%。
15. 你如何評(píng)價(jià)Android系統(tǒng)?優(yōu)缺點(diǎn)。