收集和修改完善一些安卓面試題
1. Intent的幾種有關(guān)Activity啟動的方式有哪些,你了解每個含義嗎?
Intent的一些標(biāo)記有
FLAG_ACTIVITY_BROUGHT_TO_FRONT 、FLAG_ACTIVITY_CLEAR_TOP、
FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET、 FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS、
FLAG_ACTIVITY_MULTIPLE_TASK和FLAG_ACTIVITY_NEW_TASK等。
每種含義大家看SDK文檔和具體跑下這樣你的記憶會更深刻些。
2. Activity和Task的啟動模式有哪些?每種含義是什么?
有關(guān)在AndroidManifest.xml中的android:launchMode定義,主要有standard、singleTop、 singleTask和singleInstance,同時對于android:taskAffinity這些問題大家也要了解。
3. 通過Intent傳遞一些二進(jìn)制數(shù)據(jù)的方法有哪些?
1).使用Serializable接口實(shí)現(xiàn)序列化,這是Java常用的方法。
2).實(shí)現(xiàn)Parcelable接口,這里Android的部分類比如Bitmap類就已經(jīng)實(shí)現(xiàn)了,同時Parcelable在Android AIDL中交換數(shù)據(jù)也很常見的。
4. 能說下Android應(yīng)用的入口點(diǎn)嗎?
真正的Android入口點(diǎn)是application的main,你可以看下androidmanifest.xml的包含關(guān)系就清楚了??梢詻]有Activity但是必須有Application
5. Android都有哪些XML解析器,都熟練掌握嗎?
這里XmlPull、SAX和DOM相信做過Web開發(fā)的都已經(jīng)滾瓜爛熟了。
6. SQLite支持事務(wù)嗎?添加刪除如何提高性能?
SQLite作為輕量級的數(shù)據(jù)庫,比MySQL還小,但支持SQL語句查詢,提高性能可以考慮通過原始經(jīng)過優(yōu)化的SQL查詢語句方式處理。
7. Android Service和Binder、AIDL你都熟練嗎?
作為Android重要的后臺服務(wù),這些每個Android開發(fā)者都應(yīng)該掌握,這也算是和JavaSE最大的不同了,具體的實(shí)例大家可以查看Android音樂播放器的源代碼Music.git中的,這里不再贅述。
8.請描述下Activity的生命周期。
創(chuàng)建oncreate - 啟動onstart – 恢復(fù)onResume – 暫停onPause – 結(jié)束onEnd–銷毀onDestroy
9.如果后臺的Activity由于某原因被系統(tǒng)回收了,如何在被系統(tǒng)回收之前保存當(dāng)前狀態(tài)?
在”暫停onPause”狀態(tài)將數(shù)據(jù)保存。
10.如何將一個Activity設(shè)置成窗口的樣式。
設(shè)置Theme。
11.請介紹下Android中常用的五種布局。
線性布局LinearLayout,相對布局RelativeLayout
表單布局TableLayout,
絕對布局AbsLayout(已淘汰)幀布局FrameLayout
12.請介紹下Android的數(shù)據(jù)存儲方式。
Preference,文件,數(shù)據(jù)庫SQlite,網(wǎng)絡(luò)存儲
13.如何啟用Service,如何停用Service。
啟動:
Context.startService()
and Context.bindService().
關(guān)閉:
Context.stopService()
Service.stopSelf()orService.stopSelfResult()
14.你如何評價Android系統(tǒng)?優(yōu)缺點(diǎn)。
優(yōu)勢:一、開放性三、豐富的硬件選擇五、無縫結(jié)合的Google應(yīng)用支持
缺點(diǎn):一、安全和隱私二,開發(fā)商自定義,不夠統(tǒng)一四、同類機(jī)型用戶減少
15. android:paddingLeft與android:layout_marginLeft的區(qū)別
padding是內(nèi)部間距,margin是外部間距。
16.Android動畫有哪幾種?描述一下
Android包含三種動畫:View Animation(Tween Animation)、 Drawable Animation、Property Animation(屬性動畫,Android3.0新引入)