十6、Android中Dalvik和JVM的區別是什麼?html
1. Dalvik基於寄存器,而JVM基於棧。基於寄存器的虛擬機對於更大的程序來講,在它們編譯的時候,花費的時間更短。java
2. Dalvik負責進程隔離和線程管理,每個Android應用在底層都會對應一個獨立的Dalvik虛擬機實例,Dalvik專門針對同時高效運行多個虛擬機進行了優化,其代碼在虛擬機的解釋下得以執行。android
3. Dalvik並未遵照jvm規範,二者也不兼容。jvm運行的是java字節碼(.class文件),Dalvik運行的是其專有的dex(Dalvik Executable)文件。dex文件格式能夠減小總體文件尺寸,提升I/o操做的類查找速度。Dalvik虛擬機有本身的 bytecode,並不是使用 Java bytecode。數據庫
十7、經過Intent傳遞一些二進制數據的方法有哪些?瀏覽器
1.使用Serializable接口實現序列化,這是Java經常使用的方法。安全
2.實現Parcelable接口,這裏Android的部分類好比Bitmap類就已經實現了,同時Parcelable在Android AIDL中交換數據也很常見的。網絡
十8、能說下Android應用的入口點嗎?app
其實在android.app.Application這個包的onCreate纔是真正的Android入口點,只不過大多數開發者無需重寫該類,他的繼承關係以下圖:jvm
java.lang.Object
? android.content.Context
? android.content.ContextWrapper
? android.app.Application佈局
android.app.Application類包含了4個公開的方法
void onConfigurationChanged(Configuration newConfig)
void onCreate() //這裏纔是真正的入口點。
void onLowMemory()
void onTerminate()
因此但願你們,記住真正的Android入口點是application的main,你能夠看下androidmanifest.xml的包含關係就清楚了,並非每一個應用都必須有Activity的。
十9、Android都有哪些XML解析器,都熟練掌握嗎?
XML解析主要有三種方式,SAX、DOM、XmlPull。
至於SAX、DOM區別在http://blog.csdn.net/u010142437/article/details/11956383中已經介紹過。
XmlPull和Sax相似,是基於流(stream)操做文件,而後根據節點事件回調開發者編寫的處理程序。由於是基於流的處理,所以Xmlpull和Sax都比較節約內存資源,不會象Dom那樣要把全部節點以對橡樹的形式展示在內存中。但Xmlpull比Sax更簡明,並且不須要掃描完整個流。
二10、SQLite支持事務嗎? 添加刪除如何提升性能?
SQLite做爲輕量級的數據庫,比MySQL還小,但支持SQL語句查詢,提升性能能夠考慮經過原始通過優化的SQL查詢語句方式處理。
二11、assets與res/raw的不一樣?
assets:用於存放須要打包到應用程序的靜態文件,以便部署到設備中。與res/raw不一樣點在於,ASSETS支持任意深度的子目錄。這些文件不會生成任何資源ID,必須使用/assets開始(不包含它)的相對路徑名。
Res:用於存放應用程序的資源(如圖標、GUI佈局等),將被打包到編譯後的Java中。不支持深度子目錄;
res/menu:存放基於XML的菜單描述;
res/raw:存放通用的文件,該文件夾內的文件將不會被編譯成二進制文件,按原樣複製到設備上;
res/values:存放字符串、尺寸值。
res/xml:存放通用的XML文件。
二12、Android的優點與不足?
Android平臺手機 5大優點:
開放性:在優點方面,Android平臺首先就是其開發性,開發的平臺容許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可使其擁有更多的開發者,隨着用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。開發性對於Android的發展而言,有利於積累人氣,這裏的人氣包括消費者和廠商,而對於消費者來說,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將能夠用更低的價位購得心儀的手機。
掙脫運營商的束縛:在過去很長的一段時間,特別是在歐美地區,手機應用每每受到運營商制約,使用什麼功能接入什麼網絡,幾乎都受到運營商的控制。自iPhone上市 ,用戶能夠更加方便地鏈接網絡,運營商的制約減小。互聯網巨頭Google推進的Android終端天生就有網絡特點,將讓用戶離互聯網更近。
豐富的硬件選擇:這一點仍是與Android平臺的開放性相關,因爲Android的開放性,衆多的廠商會推出千奇百怪,功能特點各具的多種產品。
不受任何限制的開發商:Android平臺提供給第三方開發商一個十分寬泛、自由的環境,不會受到各類條條框框的阻擾,可想而知,會有多少新穎別緻的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和遊戲如何控制正是留給Android難題之一。
無縫結合的Google應用:現在叱詫互聯網的Google已經走過10年度歷史,從搜索巨人到全面的互聯網滲透,Google服務如地圖、郵件、搜索等已經成爲鏈接用戶和互聯網的重要紐帶,而Android平臺手機將無縫結合這些優秀的Google服務。
Android的5大不足:
安全和隱私:
因爲手機與互聯網的緊密聯繫,我的隱私很可貴到保守。除了上網過程當中經意或不經意留下的我的足跡,Google這個巨人也時時站在你的身後,洞穿一切,所以,互聯網的深刻將會帶來新一輪的隱私危機。
首先開賣Android手機的不是最大運營商:衆所周知,T-Mobile在23日,於美國紐約發佈 了Android首款手機G1。可是在北美市場,最大的兩家運營商乃AT&T和Verizon,而目前所知取得Android手機銷售權的僅有T-Mobile和Sprint,其中T-Mobile的3G網絡相對於其餘三家也要遜色很多,所以,用戶能夠買帳購買G1,可否體驗到最佳的3G網絡服務則要另當別論了!
運營商仍然可以影響到Android手機:在國內市場,很多用戶對購得移動定製機不滿,感受所購的手機被人塗畫了廣告通常。這樣的狀況在國外市場一樣出現。Android手機的另外一發售運營商Sprint就將在其機型中內置其手機商店程序。
同類機型用戶減小:在很多手機論壇都會有針對某一型號的子論壇,對一款手機的使用心得交流,並分享軟件資源。而對於Android平臺手機,因爲廠商豐富,產品類型多樣,這樣使用同一款機型的用戶愈來愈少,缺乏統一機型的程序強化。舉個稍顯不當的例子,如今山寨機氾濫,品種各異,就不多有專門針對某個型號山寨機的討論和羣組,除了哪些功能異常搶眼、頗受追捧的機型之外。
過度依賴開發商缺乏標準配置:在使用PC端的Windows Xp系統的時候,都會內置微軟Windows Media Player這樣一個瀏覽器程序,用戶能夠選擇更多樣的播放器,如Realplay或暴風影音等。但入手開始使用默認的程序一樣能夠應付多樣的須要。在 Android平臺中,因爲其開放性,軟件更多依賴第三方廠商,好比Android系統的SDK中就沒有內置音樂 播放器,所有依賴第三方開發,缺乏了產品的統一性。
二十3、靜態變量和實例變量的區別?
1.在語法定義上的區別:靜態變量前要加static關鍵字,而實例變量前則不加。
2.在程序運行時的區別:實例變量屬於某個對象的屬性,必須建立了實例對象,其中的實例變量纔會被分配空間,才能使用這個實例變量。靜態變量不屬於某個實例對象,而是屬於類,因此也稱爲類變量,只要程序加載了類的字節碼,不用建立任何實例對象,靜態變量就會被分配空間,靜態變量就能夠被使用了。總之,實例變量必須建立對象後才能夠經過這個對象來使用,靜態變量則能夠直接使用類名來引用。
二十4、jdk中哪些類是不能繼承的?
不能繼承的是類是那些用final關鍵字修飾的類。通常比較基本的類型或防止擴展類無心間破壞原來方法的實現的類型都應該是final的,在jdk中System,String,StringBuffer等都是基本類型。
二十5、sim卡的EF 文件有何做用
SIM卡里的全部文件按樹來組織:
主文件MF(Master File)——每一塊SIM卡只有一個惟一的主文件,其餘全部文件都是它的子孫, 主文件只有文件頭裏面存放着整個SIM卡的控制和管理信息
專用文件DF(Dedicated File)——也是隻有一個文件頭,裏面存放着整個目錄的管理控制信息,專用文件至關於一個目錄的根.
基本文件EF(Elementary File)——既有文件頭,也有文件體,文件頭存放該文件的位置和控制信息, 文件體存放真正的數據,整個SIM卡中只有基本文件有文件體,也只有基本文件才用來存放數據.
sim卡的文件系統有本身規範,主要是爲了和手機通信,sim本 身能夠有本身的操做系統,EF就是做存儲並和手機通信用的