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

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

      android面試題目及其答案

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

      android面試題目及其答案

        android面試中,面試者想要有好的表現(xiàn),那么面試前的準(zhǔn)備很重要,你了解安卓面試題目嗎?你會(huì)作答了嗎?以下是陽(yáng)光網(wǎng)小編幫你們整理的android面試題目及其答案,一起來(lái)學(xué)習(xí)啦。

      android面試題目及其答案

        android面試題目及其答案篇一

        1、顯式intent和隱式intent的區(qū)別是什么(Android)

        Intent定義:Intent是一種在不同組件之間傳遞的請(qǐng)求消息,是應(yīng)用程序發(fā)出的請(qǐng)求和意圖。作為一個(gè)完整的消息傳遞機(jī)制,Intent不僅需要發(fā)送端,還需要接收端。

        顯式Intent定義:對(duì)于明確指出了目標(biāo)組件名稱(chēng)的Intent,我們稱(chēng)之為顯式Intent; 隱式Intent定義:對(duì)于沒(méi)有明確指出目標(biāo)組件名稱(chēng)的Intent,則稱(chēng)之為隱式Intent。 說(shuō)明:Android系統(tǒng)使用IntentFilter 來(lái)尋找與隱式Intent相關(guān)的對(duì)象。

        2、如何優(yōu)化ListView

        1)如果自定義適配器,那么在getView方法中要考慮方法傳進(jìn)來(lái)的參數(shù)contentView是否為null,如果為null就創(chuàng)建contentView并返回,如果不為null則直接使用。在這個(gè)方法中盡可能少創(chuàng)建view;

        2)給contentView設(shè)置tag(setTag()),傳入一個(gè)viewHolder對(duì)象,用于緩存要顯示的數(shù)據(jù),可以達(dá)到圖像數(shù)據(jù)異步加載的效果;

        3)如果listview需要顯示的item很多,就要考慮分頁(yè)加載。比如一共要顯示100條或者更多的時(shí)候,我們可以考慮先加載20條,等用戶(hù)拉到列表底部的時(shí)候再去加載接下來(lái)的20條。

        3、簡(jiǎn)述通過(guò)contentResolver獲取ContentProvider內(nèi)容的基本步驟

        1)得到ContentResolver類(lèi)對(duì)象:ContentResolver cr = getContentResolver();

        2)定義要查詢(xún)的字段String數(shù)組;

        3)使用cr.query();返回一個(gè)Cursor對(duì)象;

        4)使用while循環(huán)得到Cursor里面的內(nèi)容。

        4、描述4 種 activity 的啟動(dòng)模式

        1)standard :系統(tǒng)的默認(rèn)模式,一次跳轉(zhuǎn)即會(huì)生成一個(gè)新的實(shí)例。假設(shè)有一個(gè)activity命名為MainActivity,執(zhí)行語(yǔ)句:

        startActivity(new Intent(MainActivity.this, MainActivity.class))后,MainActivity將跳轉(zhuǎn)到另外一個(gè)MainActivity,也就是現(xiàn)在的Task棧里面有MainActivity的兩個(gè)實(shí)例。按返回鍵后你會(huì)發(fā)現(xiàn)仍然是在MainActivity(第一個(gè))里面。

        2)singleTop:singleTop 跟standard 模式比較類(lèi)似。如果已經(jīng)有一個(gè)實(shí)例位于Activity棧的頂部時(shí),就不產(chǎn)生新的實(shí)例,而只是調(diào)用Activity中的newInstance()方法。如果不位于棧頂,會(huì)產(chǎn)生一個(gè)新的實(shí)例。例:當(dāng)MainActivity為 singleTop 模式時(shí),執(zhí)行跳轉(zhuǎn)后棧里面依舊只有一個(gè)實(shí)例,如果現(xiàn)在按返回鍵程序?qū)⒅苯油顺觥?/p>

        3)singleTask: singleTask模式和后面的singleInstance模式都是只創(chuàng)建一個(gè)實(shí)例的。在這種模式下,無(wú)論跳轉(zhuǎn)的對(duì)象是不是位于棧頂?shù)?activity,程序都不會(huì)生成一個(gè)新的實(shí)例(當(dāng)然前提是棧里面已經(jīng)有這個(gè)實(shí)例)。這種模式相當(dāng)有用,在以后的多activity開(kāi)發(fā)中,經(jīng)常會(huì)因?yàn)樘D(zhuǎn)的關(guān)系導(dǎo)致同個(gè)頁(yè)面生成多個(gè)實(shí)例,這個(gè)在用戶(hù)體驗(yàn)上始終有點(diǎn)不好,而如果你將對(duì)應(yīng)的activity聲明為 singleTask 模式,這種問(wèn)題將不復(fù)存在。

        4)singleInstance: 設(shè)置為 singleInstance 模式的 activity 將獨(dú)占一個(gè)task(感覺(jué)task可以理解為進(jìn)程),獨(dú)占一個(gè)task的activity與其說(shuō)是activity,倒不如說(shuō)是一個(gè)應(yīng)用,這個(gè)應(yīng)用與其他activity是獨(dú)立的,它有自己的上下文activity。

        5、Android中如何訪(fǎng)問(wèn)自定義ContentProvider?

        通過(guò)ContentProvider的Uri訪(fǎng)問(wèn)開(kāi)放的數(shù)據(jù)。

        1)ContenResolver對(duì)象通過(guò)Context提供的方法getContenResolver()來(lái)獲得。

        2)ContenResolver提供了以下方法來(lái)操作:insert delete update query這些方法分別會(huì)調(diào)用ContenProvider中與之對(duì)應(yīng)的方法并得到返回的結(jié)果。

        6、Android中的動(dòng)畫(huà)有哪幾類(lèi),它們的特點(diǎn)和區(qū)別是什么?

        Android中動(dòng)畫(huà)可以分為兩大類(lèi):幀動(dòng)畫(huà)、補(bǔ)間動(dòng)畫(huà)

        1)補(bǔ)間動(dòng)畫(huà):你定義一個(gè)開(kāi)始和結(jié)束,中間的部分由程序運(yùn)算得到。主要有:旋轉(zhuǎn)、平移、放縮和漸變;Alphaanimation(漸變型動(dòng)畫(huà))、scaleAnimation(縮放型動(dòng)畫(huà))、 TranslateAnimation(平移型動(dòng)畫(huà))、 RotateAnimation(旋轉(zhuǎn)型動(dòng)畫(huà))、

        2)逐幀動(dòng)畫(huà):Frame(把一連串的圖片進(jìn)行系列化連續(xù)播放,如同放電影的效果),它是通過(guò)播放一張一張圖片來(lái)達(dá)到動(dòng)畫(huà)的效果。

        android面試題目及其答案篇二

        1. 什么是Activity?

        四大組件之一,一般一個(gè)用戶(hù)交互界面對(duì)應(yīng)一個(gè)activity

        setContentView() ,// 要顯示的布局, activity 是Context的子類(lèi),同時(shí)實(shí)現(xiàn)了window.callback和keyevent.callback, 可以處理與窗體用戶(hù)交互的事件.

        開(kāi)發(fā)常用的的有FragmentActivitiy,ListActivity , PreferenceActivity ,TabAcitivty等„

        如果界面有共同的特點(diǎn)或者功能的時(shí)候,還會(huì)自己定義一個(gè)BaseActivity.進(jìn)度對(duì)話(huà)框的顯示與銷(xiāo)毀

        2. 請(qǐng)描述一下Activity 生命周期。

        生命周期描述的是一個(gè)類(lèi) 從創(chuàng)建(new出來(lái))到死亡(垃圾回收)的過(guò)程中會(huì)執(zhí)行的方法.. 在這個(gè)過(guò)程中 會(huì)針對(duì)不同的生命階段會(huì)調(diào)用不同的`方法

        Activity從創(chuàng)建到銷(xiāo)毀有多種狀態(tài),從一種狀態(tài)到另一種狀態(tài)時(shí)會(huì)激發(fā)相應(yīng)的回調(diào)方法,這些回調(diào)方法包括:oncreate ondestroy onstop onstart onresume onpause

        其實(shí)這些方法都是兩兩對(duì)應(yīng)的,onCreate創(chuàng)建與onDestroy銷(xiāo)毀;

        onStart可見(jiàn)與onStop不可見(jiàn);onResume可編輯(即焦點(diǎn))與onPause;

        這6個(gè)方法是相對(duì)應(yīng)的,那么就只剩下一個(gè)onRestart方法了,這個(gè)方法在什么時(shí)候調(diào)用呢? 答案就是:在Activity被onStop后,但是沒(méi)有被onDestroy,在再次啟動(dòng)此Activity時(shí)就調(diào)用onRestart(而不再調(diào)用onCreate)方法;

        如果被onDestroy了,則是調(diào)用onCreate方法。

        最后講自己項(xiàng)目中的經(jīng)驗(yàn),比如說(shuō)樂(lè)玩每次進(jìn)入某個(gè)界面的時(shí)候都要看到最新的數(shù)據(jù),這個(gè)刷新列表的操作 就放在onStart()的方法里面.這樣保證每次用戶(hù)看到的數(shù)據(jù)都是最新的.

        比如:多媒體播放, 播放來(lái)電話(huà). onStop() 視頻, 視頻聲音設(shè)置為0 , 記錄視頻播放的位置 mediaplayer.pause();

        onStart() 根據(jù)保存的狀態(tài)恢復(fù)現(xiàn)場(chǎng). mediaplayer.start();

        在讀文檔的時(shí)候 還發(fā)現(xiàn) activity還有兩個(gè)方法 onPostResume() 和 OnPostCreate()這兩個(gè)生命周期的方法,不過(guò)開(kāi)發(fā)的時(shí)候沒(méi)有用到過(guò).

        3. 兩個(gè)Activity之間跳轉(zhuǎn)時(shí)必然會(huì)執(zhí)行的是哪幾個(gè)方法。

        一般情況比如說(shuō)有兩個(gè)activity,分別叫A,B ,當(dāng)在A里面激活B組件的時(shí)候, A 會(huì)調(diào)用 onPause()方法,然后B 調(diào)用onCreate() ,onStart(), OnResume() ,這個(gè)時(shí)候B覆蓋了窗體, A會(huì)調(diào)用onStop()方法. 如果B呢 是個(gè)透明的,或者是對(duì)話(huà)框的樣式, 就不會(huì)調(diào)用onStop()方法

        4. 橫豎屏切換時(shí)候Activity的生命周期。

        這個(gè)生命周期跟清單文件里的配置有關(guān)系

        1、不設(shè)置Activity的android:configChanges時(shí),切屏?xí)匦抡{(diào)用各個(gè)生命周期 默認(rèn)首先銷(xiāo)毀當(dāng)前activity,然后重新加載

        2、設(shè)置Activity的android:configChanges="orientation|keyboardHidden|screenSize"時(shí),切屏不會(huì)重新調(diào)用各個(gè)生命周期,只會(huì)執(zhí)行onConfigurationChanged方法。游戲開(kāi)發(fā)中, 屏幕的朝向都是寫(xiě)死的.

        android面試題目及其答案篇三

        1. 如何將一個(gè)Activity設(shè)置成窗口的樣式。

        可以自定義一個(gè)activity的樣式

        android:theme="@android:style/Theme.Dialog"

        2. 你后臺(tái)的Activity被系統(tǒng) 回收怎么辦?如果后臺(tái)的Activity由于某原因被系統(tǒng)回收了,如何在被系統(tǒng)回收之前保存當(dāng)前狀態(tài)?

        除了在棧頂?shù)腶ctivity,其他的activity都有可能在內(nèi)存不足的`時(shí)候被系統(tǒng)回收,一個(gè)activity越處于棧底,被回收的可能性越大.

        protected void onSaveInstanceState(Bundle outState) {

        super.onSaveInstanceState(outState);

        outState.putLong("id", 1234567890);

        }

        public void onCreate(Bundle savedInstanceState) {

        //判斷 savedInstanceState是不是空.

        //如果不為空就取出來(lái)

        super.onCreate(savedInstanceState);

        }

        3. service是否在main thread中執(zhí)行, service里面是否能執(zhí)行耗時(shí)的操作?

        默認(rèn)情況,如果沒(méi)有顯示的指定service所運(yùn)行的進(jìn)程, Service和activity是運(yùn)行在當(dāng)前app所在進(jìn)程的main thread(UI主線(xiàn)程)里面

        service里面不能執(zhí)行耗時(shí)的操作(網(wǎng)絡(luò)請(qǐng)求,拷貝數(shù)據(jù)庫(kù),大文件 )

        在子線(xiàn)程中執(zhí)行 new Thread(){}.start();

        Thread.currentThread().getName();

        特殊情況 ,可以在清單文件配置 service 執(zhí)行所在的進(jìn)程 ,讓service在另外的進(jìn)程中執(zhí)行

      【android面試題目及其答案】相關(guān)文章:

      android面試題及答案04-04

      android軟件測(cè)試面試題及答案11-25

      面試情景題目及最佳答案11-30

      面試題目和答案04-04

      java面試題目及答案04-05

      護(hù)士面試題目及答案04-06

      銀行面試題目及答案12-03

      單招面試題目及答案04-03

      軟件測(cè)試面試題目及答案04-03