《Android項(xiàng)目實(shí)戰(zhàn)——手機(jī)安全衛(wèi)士》_面試題答案_第1頁(yè)
《Android項(xiàng)目實(shí)戰(zhàn)——手機(jī)安全衛(wèi)士》_面試題答案_第2頁(yè)
《Android項(xiàng)目實(shí)戰(zhàn)——手機(jī)安全衛(wèi)士》_面試題答案_第3頁(yè)
《Android項(xiàng)目實(shí)戰(zhàn)——手機(jī)安全衛(wèi)士》_面試題答案_第4頁(yè)
《Android項(xiàng)目實(shí)戰(zhàn)——手機(jī)安全衛(wèi)士》_面試題答案_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Android項(xiàng)目實(shí)戰(zhàn)手機(jī)安全衛(wèi)士面試題答案第1章 項(xiàng)目簡(jiǎn)介1、 請(qǐng)問(wèn)Android程序的真正入口是什么。Android程序的真正入口是Application類的onCreate()方法。2、 請(qǐng)問(wèn)JSON數(shù)據(jù)與XML數(shù)據(jù)各有哪些優(yōu)缺點(diǎn)。1)JSON定義JSON是一種輕量級(jí)的數(shù)據(jù)交互格式,具有良好的可讀性和快速編寫的特性。業(yè)內(nèi)主流技術(shù)為其提供了完整的解決方案(有點(diǎn)類似于正則表達(dá)式 ,獲得了當(dāng)今大部分語(yǔ)言的支持),從而可以在不同平臺(tái)間進(jìn)行數(shù)據(jù)交互。JSON采用兼容性很高的文本格式,同時(shí)也具備類似于C語(yǔ)言體系的行為。2)XML定義XML表示擴(kuò)展標(biāo)記語(yǔ)言 (Extensible Markup Lan

2、guage, XML) ,用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言,可以用來(lái)標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義的源語(yǔ)言。XML是標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言 (SGML) 的子集,非常適合 Web 傳輸。 3)XML和JSON的優(yōu)缺點(diǎn)對(duì)比l 可讀性方面JSON和XML的數(shù)據(jù)可讀性基本相同,JSON和XML的可讀性可謂不相上下,一邊是建議的語(yǔ)法,一邊是規(guī)范的標(biāo)簽形式,XML可讀性較好些。 l 可擴(kuò)展性方面XML天生有很好的擴(kuò)展性,JSON當(dāng)然也有,沒有什么是XML能擴(kuò)展,JSON不能的。l 編碼難度方面XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.or

3、g提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫出JSON的代碼,可是要寫好XML就不太容易了。l 流行度方面XML已經(jīng)被業(yè)界廣泛的使用,而JSON才剛剛開始,但是在Ajax這個(gè)特定的領(lǐng)域,未來(lái)的發(fā)展一定是XML讓位于JSON。l 數(shù)據(jù)體積方面JSON相對(duì)于XML來(lái)講,數(shù)據(jù)的體積小,傳遞的速度更快些。l 數(shù)據(jù)交互方面JSON與JavaScript的交互更加方便,更容易解析處理,更好的數(shù)據(jù)交互。l 傳輸速度方面JSON的傳輸速度要遠(yuǎn)遠(yuǎn)快于XML。 第2章 手機(jī)防盜模塊1、請(qǐng)問(wèn)Android中有幾種數(shù)據(jù)存儲(chǔ)方式,每種方式有哪些特點(diǎn)。 Android中有5種數(shù)據(jù)存儲(chǔ)方式,分

4、別為文件存儲(chǔ)、SQLite數(shù)據(jù)庫(kù)、SharedPreferences、ContentProvider、網(wǎng)絡(luò)。每種存儲(chǔ)方式的特點(diǎn)如下:1)文件存儲(chǔ)文件存儲(chǔ)方式是一種較常用的方法,在Android中讀取/寫入文件的方法,與Java中實(shí)現(xiàn)I/O的程序是完全一樣的,提供了openFileInput()和openFileOutput()方法來(lái)讀取設(shè)備上的文件。2)SQLite數(shù)據(jù)庫(kù)SQLite是Android所集成的一個(gè)輕量級(jí)的嵌入式數(shù)據(jù)庫(kù),它不僅可以使用Andorid API操作,同時(shí)它也支持SQL語(yǔ)句進(jìn)行增刪改查等操作。3)SharedPreferences SharedPreferences是An

5、droid提供的用于存儲(chǔ)一些簡(jiǎn)單配置信息的一種機(jī)制,采用了XML格式將數(shù)據(jù)存儲(chǔ)到設(shè)備中。不僅可以在同一個(gè)包下使用,還可以訪問(wèn)其他應(yīng)用程序的數(shù)據(jù),但是由于SharedPreferences的局限性,在實(shí)際操作中很少用來(lái)讀取其他應(yīng)用程序的數(shù)據(jù)。4)ContentProviderContentProvider主要用于不同應(yīng)用程序之間共享數(shù)據(jù),ContentProvider更好的提供了數(shù)據(jù)共享接口的統(tǒng)一性,使不同應(yīng)用共享數(shù)據(jù)更規(guī)范和安全。5)網(wǎng)絡(luò)存儲(chǔ)數(shù)據(jù)通過(guò)網(wǎng)絡(luò)上提供的存儲(chǔ)空間來(lái)上傳(存儲(chǔ))或下載(獲取)我們存儲(chǔ)在網(wǎng)絡(luò)空間中的數(shù)據(jù)信息。2、請(qǐng)問(wèn)為什么要對(duì)ListView控件進(jìn)行優(yōu)化,以及如何優(yōu)化。在使

6、用ListView控件的過(guò)程中,由于加載條目過(guò)多在滑動(dòng)時(shí)可能造成卡頓。這是因?yàn)長(zhǎng)istView在當(dāng)前屏幕顯示多少個(gè)條目,就會(huì)創(chuàng)建多少個(gè)對(duì)象,每一個(gè)條目都是一個(gè)對(duì)象。在滑動(dòng)時(shí),滑出屏幕的條目對(duì)象會(huì)被銷毀,新加載到屏幕上的條目會(huì)創(chuàng)建新的對(duì)象,這樣在ListView快速滑動(dòng)時(shí)就會(huì)不斷的【創(chuàng)建對(duì)象】à【銷毀對(duì)象】à【創(chuàng)建對(duì)象】,并且每一個(gè)條目都需要加載一次布局,加載布局時(shí)會(huì)不斷進(jìn)行findViewById()操作初始化控件,而布局XML文件是以樹形進(jìn)行加載,每次加載一個(gè)條目都需要從根節(jié)點(diǎn)進(jìn)行初始化,這樣對(duì)內(nèi)存消耗也比較大,并且浪費(fèi)時(shí)間。如果每個(gè)條目都有圖片,圖片加載的時(shí)間比較長(zhǎng),就

7、會(huì)造成內(nèi)存溢出異常。為此就需要對(duì)ListView進(jìn)行優(yōu)化,優(yōu)化的目的是在滑動(dòng)時(shí)不會(huì)重復(fù)創(chuàng)建對(duì)象,減少內(nèi)存消耗和屏幕渲染處理。具體步驟如下:1)創(chuàng)建靜態(tài)類創(chuàng)建一個(gè)靜態(tài)類,將需要加載的控件變量放在該靜態(tài)類中,保證所有控件只創(chuàng)建一次對(duì)象,不會(huì)重復(fù)創(chuàng)建對(duì)象,具體代碼如下所示:static class ViewHolderTextView mNameTV;TextView mPhoneTV;2)復(fù)用緩存View對(duì)象 在Adapter的getView(int position, View convertView, ViewGroup parent)方法中,第二個(gè)參數(shù)convertView代表的就是之前滑動(dòng)

8、出屏幕的條目對(duì)象。如果是第一次加載該方法時(shí),會(huì)創(chuàng)建新的View對(duì)象,如果滑動(dòng)ListView時(shí),滑動(dòng)出屏幕的View對(duì)象會(huì)以緩存的形式存在,而convertView就是緩存的View對(duì)象,我們可以復(fù)用緩存該對(duì)象減少新對(duì)象的創(chuàng)建。在加載布局時(shí)先判斷convertView是否存在,如果convertView=null說(shuō)明沒有緩存的View對(duì)象,則使用View.inflate()方法加載布局,進(jìn)行布局的初始化,否則復(fù)用緩存的View對(duì)象。如果復(fù)用了緩存的View對(duì)象,也就是convertView,滑動(dòng)時(shí)當(dāng)前屏幕的條目可能和之前劃出屏幕的條目使用的是同一個(gè)對(duì)象,這樣就可能造成出現(xiàn)重復(fù)條目等異常,因此需

9、要對(duì)convertView進(jìn)行setTag()設(shè)置將holder綁定到了view上,以確定當(dāng)前顯示的是哪一個(gè)條目,防止出現(xiàn)重復(fù)條目。具體代碼如下所示:if(convertView = null)convertView = View.inflate(context, R.layout.item_list_contact_select, null);holder = new ViewHolder();holder.mNameTV = (TextView) convertView.findViewById(R.id.tv_name);holder.mPhoneTV = (TextView) conv

10、ertView.findViewById(R.id.tv_phone);convertView.setTag(holder);elseholder = (ViewHolder) convertView.getTag();第3章 通訊衛(wèi)士模塊1、 請(qǐng)問(wèn)Handler消息機(jī)制的原理是什么,及應(yīng)用場(chǎng)景。在Android系統(tǒng)中出于性能優(yōu)化考慮,Android的UI操作并不是線程安全的,這意味著如果有多個(gè)線程并發(fā)操作UI組件,可能導(dǎo)致線程安全問(wèn)題。為了解決這個(gè)問(wèn)題,Android制定了一條簡(jiǎn)單的原則,只允許UI線程(亦即主線程)修改Activity中的UI組件。但實(shí)際上,有部分UI需要在子線程中控制其修

11、改邏輯,因此子線程需要通過(guò)handler通知主線程修改UI,實(shí)現(xiàn)線程間通信。(在游戲開發(fā)中尤其常見,例如需要讓新啟動(dòng)的線程周期性的改變UI,或者實(shí)現(xiàn)文件下載等。) Handler機(jī)制主要包括四個(gè)關(guān)鍵對(duì)象,分別是:Message、Handler、MessageQueue、Looper。下面對(duì)這四個(gè)關(guān)鍵對(duì)象進(jìn)行簡(jiǎn)要的介紹。1)MessageMessage是在線程之間傳遞的消息,它可以在內(nèi)部攜帶少量的信息,用于在不同線程之間交換數(shù)據(jù)。Message的what字段可以用來(lái)攜帶一些整型數(shù)據(jù),obj字段可以用來(lái)攜帶一個(gè)Object對(duì)象。2)HandlerHandler顧名思義就是處理者的意思,它主要用于發(fā)

12、送消息和處理消息。一般使用Handelr對(duì)象的sendMessage()方法發(fā)送消息,發(fā)出的消息經(jīng)過(guò)一系列的輾轉(zhuǎn)處理后,最終會(huì)傳遞到Handler對(duì)象的handlerMessage()方法中。3)MessageQueueMessageQueue是消息隊(duì)列的意思,它主要用來(lái)存放通過(guò)Handler發(fā)送的消息。通過(guò)Handler發(fā)送的消息會(huì)存在MessageQueue中等待處理。每個(gè)線程中只會(huì)有一個(gè)MessageQueue對(duì)象。4)LooperLooper是每個(gè)線程中的MessageQueue的管家。調(diào)用Looper的loop()方法后,就會(huì)循環(huán)檢查MessageQueue中是否有消息,如果Mess

13、ageQueue中存在一條消息,就會(huì)將它取出,并傳遞到Handler的handlerMessage()方法中。此外每個(gè)線程也只會(huì)有一個(gè)Looper對(duì)象。在主線程中創(chuàng)建Handler對(duì)象時(shí),系統(tǒng)已經(jīng)為我們創(chuàng)建了Looper對(duì)象,所以不用手動(dòng)創(chuàng)建Looper對(duì)象,而在子線程中創(chuàng)建Handler對(duì)象時(shí),我們需要調(diào)用Looper.prepare()方法創(chuàng)建一個(gè)消息循環(huán),最后調(diào)用 Looper.loop()使消息循環(huán)起作用,從消息隊(duì)列中取消息,處理消息。2、 請(qǐng)問(wèn)如何將 SQLite 數(shù)據(jù)庫(kù)文件與 apk文件一起發(fā)布??梢詫?shù)據(jù)庫(kù)文件(dictionary.db)復(fù)制到 Eclipse And

14、roid工程中的 res/raw 目錄中。所在 res/raw 目錄中的文件不會(huì)被編譯成二進(jìn)制文件,這樣可以直接提取該目錄中的文件。第4章 軟件管家模塊1、 請(qǐng)問(wèn)Android中的dip、px和sp單位有何區(qū)別。1)dip: device independent pixels(設(shè)備獨(dú)立像素),不同設(shè)備有不同的顯示效果,這個(gè)和設(shè)備硬件有關(guān),一般我們?yōu)榱酥С諻VGA、HVGA和QVGA推薦使用這個(gè),不依賴像素。2)px: pixels(像素),屏幕上的點(diǎn),不同設(shè)備顯示效果相同,這是絕對(duì)像素,永遠(yuǎn)不會(huì)改變。一般我們HVGA代表320x480像素,這個(gè)用的比較多。3)sp: scaled pixels

15、(放大像素),主要用于顯示字體的大小,與dp類似,但是可以根據(jù)用戶的字體大小首選項(xiàng)進(jìn)行縮放,主要用于字體顯示best for text size。根據(jù) google 的建議,TextView 的字號(hào)最好使用 sp 做單位,而且查看TextView的源碼可知 Android 默認(rèn)使用 sp 作為字號(hào)單位。2、 請(qǐng)問(wèn)注冊(cè)廣播有幾種方式,這幾種方式有何不同。 1)靜態(tài)注冊(cè):在AndroidManifest.xml中注冊(cè)廣播,將廣播注冊(cè)到系統(tǒng)文件中,即使應(yīng)用關(guān)閉,當(dāng)有廣播到來(lái)時(shí)廣播也會(huì)收到消息進(jìn)行處理。2)動(dòng)態(tài)注冊(cè):在代碼中注冊(cè)和注銷廣播,當(dāng)廣播注冊(cè)的所依賴界面關(guān)閉時(shí),需要手動(dòng)將廣播注銷掉。第5章 手

16、機(jī)殺毒模塊 1、 請(qǐng)問(wèn)StringBuffer和StringBuilder有哪些區(qū)別。1)StringBuffer:線程同步的,安全(可用于并發(fā)環(huán)境),效率低(少量數(shù)據(jù)看不出差別)。2)StringBuilder:線程不同步的,不能用于并發(fā)環(huán)境,如果使用可能會(huì)出現(xiàn)問(wèn)題,但效率比較高。 2、 請(qǐng)問(wèn)Android 中有幾類動(dòng)畫,以及它們的特點(diǎn)是什么。Android中的動(dòng)畫通??梢苑譃橹饚瑒?dòng)畫和補(bǔ)間動(dòng)畫兩類,具體特點(diǎn)如下:1) 補(bǔ)間動(dòng)畫(Tween Animation) 通過(guò)對(duì)View中的內(nèi)容進(jìn)行一系列的圖形變換來(lái)實(shí)現(xiàn)動(dòng)畫效果,其中圖形變化包括平移、縮放、旋轉(zhuǎn)、改變透明度等。補(bǔ)間動(dòng)畫的效果可以通過(guò)X

17、ML文件來(lái)定義也可以通過(guò)編碼方式來(lái)實(shí)現(xiàn),通常情況下以XML形式定義的動(dòng)畫都會(huì)放置在程序的res/anim(自定義的)文件夾下。在Android中,提供了4種補(bǔ)間動(dòng)畫,分別是透明度漸變動(dòng)畫(AlphaAnimation)、旋轉(zhuǎn)動(dòng)畫(RotateAnimation)、縮放動(dòng)畫(ScaleAnimation)、平移動(dòng)畫(TranslateAnimation)。2) 逐幀動(dòng)畫(Frame Animation)就是按順序播放事先準(zhǔn)備好的靜態(tài)圖像,利用人眼的“視覺暫留”原理,給用戶造成動(dòng)畫的錯(cuò)覺。放膠片看電影的原理與逐幀動(dòng)畫的原理是一樣的,它們都是一張一張地播放事先準(zhǔn)備好的靜態(tài)圖像。第6章 緩存清理模塊1

18、、 請(qǐng)問(wèn)AIDL的工作原理以及實(shí)現(xiàn)步驟。AIDL全稱Android Interface Definition Language(Android接口描述語(yǔ)言) 是一種接口描述語(yǔ)言。編譯器可以通過(guò)aidl文件生成一段代碼,通過(guò)預(yù)先定義的接口達(dá)到兩個(gè)進(jìn)程內(nèi)部通信的目的。實(shí)現(xiàn)AIDL的步驟如下:1) 創(chuàng)建AIDL文件(如IService.aidl):在這個(gè)文件中定義接口, 該接口定義了可供客戶端訪問(wèn)的方法或?qū)傩?。package cn.itcast.alipayservice;interface IService void callALiPayService();2) 編譯AIDL文件:Eclipse可

19、以根據(jù)aidl文件自動(dòng)生產(chǎn)Java文件并編譯(如IService.java), 編譯后的文件會(huì)在gen目錄下,這個(gè)過(guò)程不需要人為控制。3) 實(shí)現(xiàn)IService接口:編寫一個(gè)MyService類,MyService是Service的子類,在MyService類中定義了一個(gè)內(nèi)嵌類(MyBinder),該類是IService.Stub的子類。public class MyService extends Service private static final String TAG = "ALiPayService"Overridepublic IBinder onBind(In

20、tent intent) Log.v(TAG, "綁定支付寶,準(zhǔn)備付費(fèi)"); return new MyBinder(); private class MyBinder extends IService.Stub Overridepublic void callALiPayService() methodInService(); 需要注意的是,onBind()方法必須返回MyBinder類的實(shí)例對(duì)象,否則客戶端無(wú)法獲得服務(wù)對(duì)象。另外還需要在清單文件中注冊(cè)MyService服務(wù)。2、請(qǐng)問(wèn)接口和抽象類有哪些區(qū)別。 l 抽象類中可以有構(gòu)造方法,而接口中不能有構(gòu)造方法。l 抽象類中

21、可以有普通成員變量,而接口中不能有普通成員變量。l 抽象類中可以包含非抽象的普通方法,而接口中所有的方法必須是抽象的,不能有非抽象的普通方法。l 抽象類中的抽象方法的訪問(wèn)類型可以是public,protected和默認(rèn)類型,但接口中的抽象方法只能是public類型的,并且默認(rèn)即為public abstract類型。l 抽象類中可以包含靜態(tài)方法,接口內(nèi)不能包含靜態(tài)方法。l 抽象類和接口中都可以包含靜態(tài)成員變量,抽象類中的靜態(tài)成員變量的訪問(wèn)類型可以任意,但接口中定義的變量只能是public static類型,并且默認(rèn)為public static類型。l 一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,但只能繼承一個(gè)抽象類

22、。第7章 進(jìn)程管理模塊1、 請(qǐng)問(wèn)進(jìn)程間通訊有幾種方式。1)Activity:既可以在進(jìn)程內(nèi)訪問(wèn)(同一個(gè)應(yīng)用程序),也可以跨進(jìn)程訪問(wèn)。Activity跨進(jìn)程訪問(wèn)與進(jìn)程內(nèi)訪問(wèn)略有不同,雖然他們都需要Intent對(duì)象,但跨進(jìn)程訪問(wèn)并不需要指定Context對(duì)象和Activity的Class對(duì)象,而需要指定的是要訪問(wèn)Activity所對(duì)應(yīng)的Action(一個(gè)字符串),有些還需要指定一個(gè)Uri。例如調(diào)用系統(tǒng)照相機(jī)就是通過(guò)Activity實(shí)現(xiàn)的進(jìn)程間通信。2)廣播(Broadcast):廣播是一種被動(dòng)的跨進(jìn)程通通訊方式。當(dāng)某個(gè)程序向系統(tǒng)發(fā)送廣播時(shí),其他的應(yīng)用程序只能被動(dòng)接收廣播數(shù)據(jù)。這就像電臺(tái)進(jìn)行廣播一樣

23、,聽眾只能被動(dòng)地收聽,而不能主動(dòng)與電臺(tái)進(jìn)行溝通。在應(yīng)用程序中發(fā)送廣播比較簡(jiǎn)單,只需要調(diào)用sendBroadcast()方法即可,該方法需要一個(gè)Intent對(duì)象,通過(guò)Intent對(duì)象可以發(fā)送需要的數(shù)據(jù)。3)Content Provider:提供了一種在多個(gè)應(yīng)用程序之間數(shù)據(jù)共享的方式(跨進(jìn)程共享數(shù)據(jù))應(yīng)用程序可以利用Content Provider完成數(shù)據(jù)查詢、數(shù)據(jù)修改、數(shù)據(jù)添加、數(shù)據(jù)刪除功能。4)Service(服務(wù)):Service是Android系統(tǒng)中非常重要的一個(gè)組件,它可以脫離應(yīng)用程序運(yùn)行,也就是說(shuō),應(yīng)用程序只起到一個(gè)啟動(dòng)Service的作用,一旦Service被啟動(dòng),就算應(yīng)用程序關(guān)閉,

24、Service仍然會(huì)在后臺(tái)運(yùn)行。Service有兩個(gè)作用,后臺(tái)運(yùn)行和跨進(jìn)程通信。當(dāng)如果讓程序可以跨進(jìn)程通信,這就需要使用AIDL服務(wù),AIDL 是Android接口定義語(yǔ)言,同這種語(yǔ)言定義的接口后,Eclipse插件(ODT)會(huì)自動(dòng)生成相應(yīng)的Java代碼接口。并實(shí)現(xiàn)跨進(jìn)程通信功能。2、 請(qǐng)問(wèn)啟動(dòng)、停止Service有幾種方式,各自有什么特點(diǎn)。 1)startService():調(diào)用者與服務(wù)之間沒有關(guān)連,即使調(diào)用者退出了,服務(wù)仍然運(yùn)行。停止服務(wù)時(shí)要調(diào)用stopService()方法。2)bindService():調(diào)用者與服務(wù)綁定在了一起,調(diào)用者一旦退出,服務(wù)也就終止。停止服務(wù)時(shí)要調(diào)用onUnb

25、ind()方法解綁。第8章 流量統(tǒng)計(jì)模塊1、 請(qǐng)問(wèn)使用SQLite數(shù)據(jù)庫(kù)時(shí)有幾種優(yōu)化方式。1)索引優(yōu)化:簡(jiǎn)單的說(shuō),索引就像書本的目錄,目錄可以快速找到所在頁(yè)數(shù),數(shù)據(jù)庫(kù)中索引可以幫助快速找到數(shù)據(jù),而不用全表掃描,合適的索引可以大大提高數(shù)據(jù)庫(kù)查詢的效率。其優(yōu)點(diǎn)是大大加快了數(shù)據(jù)庫(kù)檢索的速度,包括對(duì)單表查詢、連表查詢、分組查詢、排序查詢。經(jīng)常是一到兩個(gè)數(shù)量級(jí)的性能提升,且隨著數(shù)據(jù)數(shù)量級(jí)增長(zhǎng)。缺點(diǎn)是索引的創(chuàng)建和維護(hù)存在消耗,索引會(huì)占用物理空間,且隨著數(shù)據(jù)量的增加而增加。在對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改時(shí)需要維護(hù)索引,所以會(huì)對(duì)增刪改的性能存在影響。2)事務(wù)優(yōu)化:對(duì)于需要一次性修改多條數(shù)據(jù)時(shí),可以考慮使用SQLite中

26、的事務(wù)進(jìn)行批量處理。3)查詢優(yōu)化:相對(duì)于封裝過(guò)的ContentProvider而言,使用原始SQL語(yǔ)句執(zhí)行效率高,例如使用方法rawQuery、execSQL的執(zhí)行效率比較高。2、 請(qǐng)問(wèn)Activity有幾種啟動(dòng)模式,以及每種模式的特點(diǎn)。 1)standard:標(biāo)準(zhǔn)模式,一調(diào)用 startActivity()方法就會(huì)產(chǎn)生一個(gè)新的實(shí)例。2)singleTop:棧頂模式,如果已經(jīng)有一個(gè)實(shí)例位于 Activity 棧的頂部時(shí),就不產(chǎn)生新的實(shí)例,而只是調(diào)用Activity的newInstance()方法。如果不位于棧頂,就會(huì)產(chǎn)生一個(gè)新的實(shí)例。3)singleTask:?jiǎn)卫蝿?wù)模式,會(huì)在一個(gè)新的 Task 中產(chǎn)生這個(gè)實(shí)例,以后每次調(diào)用都會(huì)使用這個(gè),不會(huì)去產(chǎn)生新的實(shí)例了。4)singleInstance:?jiǎn)卫J?,這個(gè)跟 singleTask 基本上是一樣,但有一個(gè)區(qū)別,在這個(gè)模式下的 Activity 實(shí)例所處的 Task 中,只能有這個(gè)activity 實(shí)例,不能有其他的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論