1. 程式人生 > >安卓面試寶典

安卓面試寶典

1.關於記憶體回收機制正確的是:

記憶體回收程式負責釋放無用記憶體。

2.執行時異常有那些:

ArithmeticException(運算條件異常)、illegalArgumentException(不合法引數異常)、NullPointerException(空指標異常)、BufferUderflowException(緩衝區溢位異常)。

3.Math.round(11.5)等於12,Math.round(-11.5)等於11。

4.對一些資源以及狀態的操作儲存,最好時儲存在生命週期的onStart中函式中。

5.intent可以傳遞的資料型別有serializable、charsequence、Parcelable、Bundle。

6.Intent的作用時實現介面間的切換,可以包含動作和動作資料,連線四大元件的紐帶。

7.Sax解析SML檔案的優點:不用事先調入整個文件,佔用資源少。

8.自定義style方式:

<Resources>

     <style name="mystyle">

          <item name="android:layout_width">

          fill_parent

         </item>

</Resources>

9.在安卓中使用Menu時可能需要重寫的方法有 onCreateOptionsMenu()、onOptionsitemSelected().

10.使用SqliteOpenHelper這個輔助類時,可以生成一個數據庫,並可以對資料庫的版本進行管理的方法是:getWriteableDatabase()、getReadableDataBase()。

11.Service生命週期的onCreate和onStart方法的生命週期:第一次啟動Service時執行onCreate()和onStart()方法,Service已經啟動則不會執行onCreate方法只會執行onStart方法。

12.GLSurFaceView的特性是:管理一個surface,這個surface就是一塊特殊的記憶體,能直接排版到andorid的檢視View上、管理一個EGL display,它能讓opengl把內容渲染到上述surface上。讓渲染器在獨立的執行緒裡運作和UI執行緒分離。

13.註冊一個Broadcast的方法:

<receiver android:name="NewBroad">

<intent-Filltter>

<action andorid:name="android.provider.action.NewBroad">

</action>

</intent-Filltter>

</receiver>

14.關於ContentValues:他和HashTble比較類似,也是負責儲存一些名值對,但是名為String型別而值都是基本型別。

15.執行緒銷燬方法時onDestroy。

16.Activity退出的方式有finish()、拋異常退出、onStop()

17.安卓的動畫有:Tween和Frame。

18.安卓 dvm程序和linux程序的關係:DVM指的時dalivk虛擬機器,每一個安卓應用程式都在他自己的程序中執行,都有一個Dalvik虛擬機器例項,而每個Dalvik都是Linux中的一個程序,所以可以認為時同一個概念。

19.安卓下的assets目錄是用來放置多媒體等資料檔案的。

20.res/raw中的檔案會原封不動的存放到裝置中不會轉換為二進位制格式。

21.NDK程式設計:NDK時一系列工具的集合、NDK提供了一份穩定、功能有限的API標頭檔案申明、使JAVA加C開發方式成為官方支援的開發方式、NDK將是Andorid平臺支援C開發的開端。

22.安卓中四個常用佈局為:FrameLayout,Linenarlayout , relativelayout , tablelayout.

23.安卓的四大元件時 Activity , Broadcast , contentProvider, Service.

24.Java中的ObjectoutputStream 和 ObjectInputStream主要用於物件的讀寫。

25.安卓中Service的實現方法有:StartService和BIndService.

26.在安卓中會過載7個方法用來維護其生命週期,他們分別是onCreate、onStart()、onResume , onRestart , onpause , on stop , ondestroy.

27.安卓中資料的儲存方式有:Sharepeference 資料庫儲存 檔案儲存 contentProvider 網路.

28. 當啟動一個Activity並且新的Activity執行完後需要返回到啟動的Actitvity來執行的回撥函式時StartActivityForResult.



29.NDK程式設計的步驟。

1.安裝和下載cygwin,下載安卓NDK工具包。

2.在NDK專案中JNI介面的設計。

3.使用C、C++實現本地方法。

4.JNI動態生成連結庫.so檔案。

5.將動態連結庫複製到JAVA工程中,在Java工程中呼叫即可。


30.安卓應用程式的結構

Linux Kernel(Linux核心層)、Libraries(系統執行庫或者是C/C++核心庫)

FrameWork層(開發框架包) Applications(核心應用程式)


31.Sqlite資料庫的建立。

通過SqliteOpenHelper的Oncreate建表,onUpgrade更新資料庫。

32.安卓執行許可權由Dalvik也就是安卓授權,檔案系統由Linux核心授權。

33.安卓系統的優缺點。

1、開放性、掙脫運營商的束縛、豐富的硬體選擇、不任何限制的開發商、無縫結合的谷歌應用。

2、安全和隱私、同類機型使用者減少、缺少標準配置。

34.DDMS時一個程式執行檢視器,在裡面可以檢視執行緒和堆疊等資訊,TraceView時程式效能分析器。