久久综合色一综合色88欧美|久久er热在这里只有精品66|国产福利一区二区不卡|日本精品动漫二区三区

    1. <address id="l3apk"><var id="l3apk"><source id="l3apk"></source></var></address>

      android面試題庫

      時(shí)間:2022-11-24 01:34:24 面試技巧 我要投稿
      • 相關(guān)推薦

      android面試題庫

        android工程師的面試前的準(zhǔn)備很重要,那么你知道有哪些關(guān)于安卓的面試題嗎?以下是陽光網(wǎng)小編幫你們整理的android面試題庫,一起來學(xué)習(xí)啦。

      android面試題庫

        android面試題篇一

        1.android 中線程與線程,進(jìn)程與進(jìn)程之間如何通信

        1)、一個(gè) Android 程序開始運(yùn)行時(shí),會(huì)單獨(dú)啟動(dòng)一個(gè) Process 。

        默認(rèn)情況下,所有這個(gè)程序中的 Activity 或者 Service 都會(huì)跑在這個(gè) Process 。

        默認(rèn)情況下,一個(gè) Android 程序也只有一個(gè) Process ,但一個(gè) Process 下卻可以有許多個(gè) Thread。

        2 )、一個(gè) Android 程序開始運(yùn)行時(shí),就有一個(gè)主線程 Main Thread 被創(chuàng)建。該線程主要負(fù)責(zé) UI 界面的顯示、更新和控件交互,所以又叫 UI Thread 。

        一個(gè) Android 程序創(chuàng)建之初,一個(gè) Process 呈現(xiàn)的是單線程模型 — 即 Main Thread ,所有的任務(wù)都在一個(gè)線程中運(yùn)行。所以, Main Thread 所調(diào)用的每一個(gè)函數(shù),其耗時(shí)應(yīng)該越短越好。而對(duì)于比較費(fèi)時(shí)的工作,應(yīng)該設(shè)法交給子線程去做,以避免阻塞主線程(主線程被阻塞,會(huì)導(dǎo)致程序假死現(xiàn)象)。

        3 )、 Android 單線程模型: Android UI 操作并不是線程安全的并且這些操作必須在 UI 線程中執(zhí)行。如果在子線程中直接修改 UI ,會(huì)導(dǎo)致異常。

        2.Android dvm 的進(jìn)程和 Linux 的進(jìn)程 , 應(yīng)用程序的進(jìn)程是否為同一個(gè)概念

        DVM 指 dalivk 的虛擬機(jī)。每一個(gè) Android 應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的 Dalvik 虛擬機(jī)實(shí)例。而每一個(gè) DVM 都是在 Linux 中的一個(gè)進(jìn)程,所以說可以認(rèn)為是同一個(gè)概念。

        3.sim 卡的 EF 文件有何作用

        sim 卡的文件系統(tǒng)有自己規(guī)范,主要是為了和手機(jī)通訊, sim 本身可以有自己的操作系統(tǒng),EF 就是作存儲(chǔ)并和手機(jī)通訊用的'

        4.android 中的動(dòng)畫有哪幾類,它們的特點(diǎn)和區(qū)別是什么 ?

        兩種,一種是 Tween 動(dòng)畫、還有一種是 Frame 動(dòng)畫。 Tween 動(dòng)畫,這種實(shí)現(xiàn)方式可以使視圖組件移動(dòng)、放大、縮小以及產(chǎn)生透明度的變化 ; 另一種 Frame 動(dòng)畫,傳統(tǒng)的動(dòng)畫方法,通過順序的播放排列好的圖片來實(shí)現(xiàn),類似電影。

        5.描述handler 機(jī)制的原理

        andriod提供了 Handler 和 Looper 來滿足線程間的通信。

        Handler 先進(jìn)先出原則。Looper類用來管理特定線程內(nèi)對(duì)象之間的消息交換(Message Exchange)。

        1)Looper: 一個(gè)線程可以產(chǎn)生一個(gè)Looper對(duì)象,由它來管理此線程里的Message Queue(消息隊(duì)列)。

        2)Handler: 你可以構(gòu)造Handler對(duì)象來與Looper溝通,以便push新消息到Message Queue里;或者接收Looper從Message Queue取出)所送來的消息。

        3)Message Queue(消息隊(duì)列):用來存放線程放入的消息。

        4)線程:UI thread 通常就是main thread,而Android啟動(dòng)程序時(shí)會(huì)替它建立一個(gè)Message Queue。

        android面試題篇二

        1. 如何將 SQLite 數(shù)據(jù)庫 (dictionary.db 文件 ) 與 apk 文件一起發(fā)布 ?

        解答:可以將 dictionary.db 文件復(fù)制到 Eclipse Android 工程中的 res aw 目錄中。所有在 res aw 目錄中的文件不會(huì)被壓縮,這樣可以直接提取該目錄中的文件?梢詫 dictionary.db 文件復(fù)制到 res aw 目錄中

        2. 如何將打開 res aw 目錄中的數(shù)據(jù)庫文件 ?

        解答:在 Android 中不能直接打開 res aw 目錄中的數(shù)據(jù)庫文件,而需要在程序第一次啟動(dòng)時(shí)將該文件復(fù)制到手機(jī)內(nèi)存或 SD 卡的某個(gè)目錄中,然后再打開該數(shù)據(jù)庫文件。復(fù)制的基本方法是使用getResources().openRawResource 方法獲得 res aw 目錄中資源的 InputStream 對(duì)象,然后將該InputStream 對(duì)象中的數(shù)據(jù)寫入其他的目錄中相應(yīng)文件中。在 Android SDK 中可以使用SQLiteDatabase.openOrCreateDatabase 方法來打開任意目錄中的 SQLite 數(shù)據(jù)庫文件。

        3. 在 android 中 mvc 的具體體現(xiàn)

        MVC 是 Model,View,Controller 的縮寫,從上圖可以看出 MVC 包含三個(gè)部分:

        .. 模型( Model )對(duì)象:是應(yīng)用程序的主體部分,所有的業(yè)務(wù)邏輯都應(yīng)該寫在該層。

        .. 視圖( View )對(duì)象:是應(yīng)用程序中負(fù)責(zé)生成用戶界面的部分。也是在整個(gè)MVC 架構(gòu)中用戶唯一可以看到的一層,接收用戶的輸入,顯示處理結(jié)果。

        .. 控制器( Control )對(duì)象:是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示及更新 Model 對(duì)象狀態(tài)的部分,控制器更重要的一種導(dǎo)航功能,想用用戶出發(fā)的相關(guān)事件,交給 M 哦得了處理。

        Android 鼓勵(lì)弱耦合和組件的重用,在 Android 中 MVC 的具體體現(xiàn)如下

        1) 視圖層( view ):一般采用 xml 文件進(jìn)行界面的描述,使用的時(shí)候可以非常方便的引入,當(dāng)然,如何你對(duì) android 了解的比較的.多了話,就一定可以想到在 android 中也可以使用JavaScript+html 等的方式作為 view 層,當(dāng)然這里需要進(jìn)行 Java 和 JavaScript 之間的通信,幸運(yùn)的是, android 提供了它們之間非常方便的通信實(shí)現(xiàn)。

        2) 控制層( controller ): android 的控制層的重任通常落在了眾多的 acitvity 的肩上,這句話也就暗含了不要在 acitivity 中寫代碼,要通過 activity 交割 model 業(yè)務(wù)邏輯層處理,這樣做的另外一個(gè)原因是 android 中的 acitivity 的響應(yīng)時(shí)間是 5s ,如果耗時(shí)的操作放在這里,程序就很容易被回收掉。

        3) 模型層( model ):對(duì)數(shù)據(jù)庫的操作、對(duì)網(wǎng)絡(luò)等的操作都應(yīng)該在 model 里面處理,當(dāng)然對(duì)業(yè)務(wù)計(jì)算等操作也是必須放在的該層的。

        android面試題篇三

        1、Android中五種數(shù)據(jù)存儲(chǔ)方式分別是什么?他們的特點(diǎn)?

        Android提供了五種存取數(shù)據(jù)的方式

        1)SharedPreference,存放較少的五種類型的數(shù)據(jù),只能在同一個(gè)包內(nèi)使用,生成XML的格式存放在設(shè)備中;

        2)SQLite數(shù)據(jù)庫,存放各種數(shù)據(jù),是一個(gè)輕量級(jí)的嵌入式數(shù)據(jù)庫;

        3)File文件,通過讀取寫入方式生成文件存放數(shù)據(jù);

        4)ContentProvider,主要用于讓其他應(yīng)用程序使用保存的數(shù)據(jù);

        5)通過網(wǎng)絡(luò)獲取數(shù)據(jù)和寫入數(shù)據(jù)到網(wǎng)絡(luò)存儲(chǔ)空間。

        2、說說 android 中 mvc 的具體體現(xiàn)

        mvc是model,view,controller的縮寫,mvc包含三個(gè)部分:

        模型(model)對(duì)象:是應(yīng)用程序的主體部分,所有的'業(yè)務(wù)邏輯都應(yīng)該寫在該層。 視圖(view)對(duì)象:是應(yīng)用程序中負(fù)責(zé)生成用戶界面的部分。也是在整個(gè)mvc架構(gòu)中用戶唯一可以看到的一層,接收用戶的輸入,顯示處理結(jié)果。

        控制器(control)對(duì)象:是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示及更新model對(duì)象狀態(tài)的部分,控制器更重要的一種導(dǎo)航功能,響應(yīng)用戶出發(fā)的相關(guān)事件,交給m層處理。

        android鼓勵(lì)弱耦合和組件的重用,在android中mvc的具體體現(xiàn)如下:

        1)視圖(view):一般采用xml文件進(jìn)行界面的描述,使用的時(shí)候可以非常方便的引入。

        2)控制層(controller):android的控制層的重任通常落在了眾多的acitvity的肩上,這句話也就暗含了不要在activity中寫過多的代碼,要通過activity交割model業(yè)務(wù)邏輯層處理,這樣做的另外一個(gè)原因是android中的activity的響應(yīng)時(shí)間是5s,如果耗時(shí)的操作放在這里,程序就很容易被回收掉。

        3)模型層(model):對(duì)數(shù)據(jù)庫的操作、對(duì)網(wǎng)絡(luò)等的操作都應(yīng)該在model里面處理,當(dāng)然對(duì)業(yè)務(wù)計(jì)算等操作也是必須放在的該層的。

        3、簡述SharedPreferences存儲(chǔ)方式以及SharedPreferences與SQLite數(shù)據(jù)庫的區(qū)別。

        SharedPreferences也是一種輕型的數(shù)據(jù)存儲(chǔ)方式,它的本質(zhì)是基于XML文件存儲(chǔ)key-value鍵值對(duì)數(shù)據(jù),通常用來存儲(chǔ)一些簡單的配置信息。其存儲(chǔ)位置在/data/data/<包名>/shared_prefs目錄下。

        SharedPreferences對(duì)象本身只能讀取數(shù)據(jù)而不支持寫入數(shù)據(jù),存儲(chǔ)修改是通過Editor對(duì)象實(shí)現(xiàn)。

        SharedPreferences對(duì)象與SQLite數(shù)據(jù)庫相比,免去了創(chuàng)建數(shù)據(jù)庫,創(chuàng)建表,寫SQL語句等諸多操作,相對(duì)而言更加方便,簡潔。

        但是SharedPreferences也有其自身缺陷,比如其職能存儲(chǔ)boolean,int,float,long和String五種簡單的數(shù)據(jù)類型,比如其無法進(jìn)行條件查詢等。

        所以不論SharedPreferences的數(shù)據(jù)存儲(chǔ)操作是如何簡單,它也只能是存儲(chǔ)方式的一種補(bǔ)充,而無法完全替代如SQLite數(shù)據(jù)庫這樣的其他數(shù)據(jù)存儲(chǔ)方式。

      【android面試題庫】相關(guān)文章:

      android面試問題04-04

      android面試題201704-04

      android面試題及答案04-04

      android面試題整理04-04

      android面試題大全04-04

      android面試題練習(xí)04-04

      總結(jié)的android面試題12-09

      android測(cè)試面試題11-25

      android軟件測(cè)試面試題04-04