1. 程式人生 > >Android知識點最新最全梳理—Android面試大綱

Android知識點最新最全梳理—Android面試大綱

熱文導讀 | 點選標題閱讀


公眾號:Java和Android架構

關注回覆:Android,iOS,PHP,js,HTML5,Python,機器學習 ,AI,大資料Hadoop,c++,J2EE等關鍵字就能免費獲取學習資料視訊

文章目錄如下:

  • Activity面試題

  • Fragment面試題

  • Service面試題

  • Broadcast Receiver面試題

  • WebView面試題

  • Binder面試題

  • Handler面試題

  • AsyncTask面試題

  • HandlerThread面試題

  • IntentService面試題

  • 檢視工作機制面試題

  • 事件分發機制面試題

  • ListView面試題

  • Android專案構建面試題

  • ANR面試題

  • OOM面試題

  • Bitmap面試題

  • UI卡頓面試題

  • 記憶體洩漏面試題

  • 記憶體管理面試題

  • 冷啟動和熱啟動面試題

  • 其他優化面試題

  • 架構模式面試題

  • 外掛化面試題

  • 熱更新面試題

  • 程序保活面試題

  • Lint面試題

  • Kotlin面試題

1Activity面試題

1、Activity是什麼

Activity是四大元件之一,它提供一個介面讓使用者點選和各種滑動操作,這就是Activity

2、Activity四種狀態

  • runing

  • paused

  • stopped

  • killed

3、Activity生命週期

  • onCreate()

  • onStart()

  • onResume()

  • onPause()

  • onStop()

  • onDestroy()

  • onRestart()

4、程序的優先順序

  • 空程序

  • 後臺程序

  • 服務程序

  • 可見程序

  • 前臺程序

5、Activity任務棧

  • 先進後出

6、Activity啟動模式

  • standard

  • singletop

  • singletask

  • singleinstance

7、scheme跳轉協議

Android中的scheme是一種頁面內跳轉協議,通過定義自己的scheme協議,可以跳轉到app中的各個頁面

  • 伺服器可以定製化告訴app跳轉哪個頁面

  • App可以通過跳轉到另一個App頁面

  • 可以通過H5頁面跳轉頁面

2Fragment面試題

1、Fragment為什麼被稱為第五大元件

Fragment比Activity更節省記憶體,其切換模式也更加舒適,使用頻率不低於四大元件,且有自己的生命週期,而且必須依附於Activity

2、Activity建立Fragment的方式

  • 靜態建立

  • 動態建立

3、FragmentPageAdapter和FragmentPageStateAdapter的區別

  • FragmentPageAdapter在每次切換頁面的的時候,是將Fragment進行分離,適合頁面較少的Fragment使用以儲存一些記憶體,對系統記憶體不會多大影響

  • FragmentPageStateAdapter在每次切換頁面的時候,是將Fragment進行回收,適合頁面較多的Fragment使用,這樣就不會消耗更多的記憶體

4、Fragment生命週期

  • onAttach()

  • onCreate()

  • onCreateView()

  • onActivityCreated()

  • onStart()

  • onResume()

  • onPause()

  • onStop()

  • onDestroyView()

  • onDestroy()

  • onDetach()

5、Fragment的通訊

  • Fragment呼叫Activity中的方法:getActivity

  • Activity呼叫Fragment中的方法:介面回撥

  • Fragment呼叫Fragment中的方法:FragmentManager.findFragmentById

6、Fragment的replace、add、remove方法

  • replace:替代Fragment的棧頂頁面

  • add:新增Fragment到棧頂頁面

  • remove:移除Fragment棧頂頁面

3Service面試題

1、Service是什麼

Service是四大元件之一,它可以在後臺執行長時間執行操作而沒有使用者介面的應用元件

2、Service和Thread的區別

  • Service是安卓中系統的元件,它執行在獨立程序的主執行緒中,不可以執行耗時操作。Thread是程式執行的最小單元,分配CPU的基本單位,可以開啟子執行緒執行耗時操作

  • Service在不同Activity中可以獲取自身例項,可以方便的對Service進行操作。Thread在不同的Activity中難以獲取自身例項,如果Activity被銷燬,Thread例項就很難再獲取得到

3、Service啟動方式

  • startService

  • bindService

4、Service生命週期

  1. startService

    • onCreate()

    • onStartCommand()

    • onDestroy()

  2. bindService

    • onCreate()

    • onBind()

    • onUnbind()

    • onDestroy()

4Broadcast Receiver面試題

1、Broadcast Receiver是什麼

Broadcast是四大元件之一,是一種廣泛運用在應用程式之間傳輸資訊的機制,通過傳送Intent來傳送我們的資料

2、Broadcast Receiver的使用場景

  • 同一App具有多個程序的不同元件之間的訊息通訊

  • 不同App之間的元件之間的訊息通訊

3、Broadcast Receiver的種類

  • 普通廣播

  • 有序廣播

  • 本地廣播

  • Sticky廣播

4、Broadcast Receiver的實現

  • 靜態註冊:註冊後一直執行,儘管Activity、程序、App被殺死還是可以接收到廣播

  • 動態註冊:跟隨Activity的生命週期