android面試題及答案
- 試題
- 關注:1.87W次
引導語:android是這段時間非常熱門的開發專業之一,而有關android的面試題及答案哪裏有呢?接下來是小編為你帶來收集整理的文章,歡迎閲讀!
在android中,請簡述jni的調用過程。
1)安裝和下載cygwin,下載 android ndk
2)在ndk項目中jni接口的設計
3)使用c/c++實現本地方法
4)jni生成動態鏈接庫.so文件
5)將動態鏈接庫複製到java工程,在java工程中調用,運行java工程即可
簡述android應用程序結構是哪些?
android應用程序結構是:
linux kernel(linux內核)、libraries(系統運行庫或者是c/c++核心庫)、application
framework(開發框架包)、applications (核心應用程序)
如果後台的activity由於某原因被系統回收了,如何在被系統回收之前保存當前狀態?
onsaveinstancestate()
當你的程序中某一個activity a在運行時,主動或被動地運行另一個新的activity b,這個時候a會執行onsaveinstancestate()。b完成以後又會來找a,這個時候就有兩種情況:一是a被回收,二是a沒有被回收,被回收的a就要重新調用oncreate()方法,不同於直接啟動的是這回oncreate()裏是帶上了參數savedinstancestate;而沒被收回的就直接執行onresume(),跳過oncreate()了。
如何將一個activity設置成窗口的樣式。
在androidmanifest.xml 中定義activity的地方一句話android:theme="@android:style/theme.dialog"或android:theme="@android:style/theme.translucent"就變成半透明的
請介紹下android中常用的五種佈局。
framelayout(框架佈局),linearlayout (線性佈局),absolutelayout(絕對佈局),relativelayout(相對佈局),tablelayout(表格佈局)
請介紹下android的數據存儲方式。
一.sharedpreferences方式
二.文件存儲方式
三.sqlite數據庫方式
四.內容提供器(content provider)方式
五. 網絡存儲方式
請介紹下contentprovider是如何實現數據共享的。
創建一個屬於你自己的content provider或者將你的數據添加到一個已經存在的content provider中,前提是有相同數據類型並且有寫入content provider的權限。
請解釋下android程序運行時權限與文件系統權限的區別。
運行時權限dalvik( android授權)
文件系統 linux 內核授權
系統上安裝了多種瀏覽器,能否指定某瀏覽器訪問指定頁面?請説明原由。
通過直接發送uri把參數帶過去,或者通過manifest裏的intentfilter裏的data屬性
什麼情況會導致force close ?如何避免?能否捕獲導致其的異常?
答:一般像空指針啊,可以看起logcat,然後對應到程序中 來解決錯誤
intentservice有何優點?
答:intentservice 的好處
* acitivity的`進程,當處理intent的時候,會產生一個對應的service
* android的進程處理器現在會盡可能的不kill掉你
* 非常容易使用
橫豎屏切換時候activity的生命週期?
1、不設置activity的android:configchanges時,切屏會重新調用各個生命週期,切橫屏時會執行一次,切豎屏時會執行兩次
2、設置activity的android:configchanges="orientation"時,切屏還是會重新調用各個生命週期,切橫、豎屏時只會執行一次
3、設置activity的android:configchanges="orientation|keyboardhidden"時,切屏不會重新調用各個生命週期,只會執行onconfigurationchanged方法
- 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/jiaoshizhijia/shiti/4nrdo7.html