android筆試題二
1、android系統架構:
Linux內核——標準庫——Framework層——應用層
Linux層包括:Android系統的核心服務,硬件驅動,進程管理,系統安全等等
2、UI界面框架圖:
3、View的測量模式:EXACTLY,AT_MOST,UNSPECIFIED。
4、自定義View與ViewGroup的時候應該註意什麽?
自定義ViewGroup的時候應該註意重寫onLayout來控制子類顯示的位置。
如果需要支持wrap_content還要重寫onMeasure()。
自定義View的時候,如果需要支持wrap_content,需要重寫onMeasure().
5、自定義view的種類:
(1)、對已有的組件進行拓展
(2)、通過組合來實現新的控件
(3)、重寫View來實現全新的控件
6、實現滑動的方法:
(1)、通過layout方法。
(2)、通過LayoutParam來改變一個view的位置(必須有一個父布局才能夠獲取到組件的LayoutParam)。
(3)、scrollTo,scrollBy方法。(移動的是組件裏面的內容,dx和dy如果是負數的話,那麽內容往正方向移動,正數則往負方向移動)。
(4)、Scroller。
(5)、屬性動畫。
(6)、ViewDragHelper
(7)、offsetLeftAndRight()同時對左和右進行偏移。
offsetTopAndBottom()同時對上和下進行偏移。
7、獨立像素dp與px的換算:
android系統使用mdpi即密度值為160的屏幕作為標準,在這個屏幕上,1px=1pd,各個分辨率直接的換算比例為:
ldpi:mdpi:hdpi:xhdip:xxhdpi=3:4:6:8:12
8、SurfaceView與View的區別:
(1)、View主要用於主動更新的情況,而SurfaceView主要用於被動更新的情況,例如頻繁地刷新。
(2)、View是在主線程中進行刷新的,而SurfaceView是通過一個子線程來刷新頁面的。
(3)、View在繪圖的時候沒有采用雙緩沖機制,而SurfaceView在底層實現機制中就已經實現了雙緩沖機制。
9、android的安全機制:
(1)、第一道防線:代碼安全機制——代碼混淆proguard。
(2)、第二道防線:應用接入權限控制——AndroidMainifest文件權限聲明、權限檢查機制。
(3)、第三道防線:應用簽名機制——數字證書(Android系統不會安裝沒有簽名的APP)。
(4)、第四道防線:Linux內核層安全機制——Uid訪問權限控制
(5)、第五道防線:Android虛擬機沙箱機制——沙箱隔離
android筆試題二