Android知識點3

一定會有錢的程式媛發表於2020-11-09

Android知識點3

一.View
  1. view繪製三大步驟measure、layout、draw
  2. MeasureSpec是 View 類的一個靜態內部類,用來說明應該如何測量這個View,三種測量模式:UNSPECIFIED,EXACTLY,AT_MOST
  3. UNSPECIFIED:父容器不對子View有任何限制,子View要多大給多大
    EXACTLY:精確模式 View的大小已經確定
    AT_MOST:最大尺寸,當控制元件的layout_width或layout_height指定為WRAP_CONTENT時,控制元件大小一般隨著控制元件的子空間或內容進行變化,此時控制元件尺寸只要不超過父控制元件允許的最大尺寸即可
二.事件分發機制
  1. 事件分發物件----Touch事件
  2. 4種事件型別:MotionEvent.ACTION_DOWN,MotionEvent.ACTION_UP,MotionEvent.ACTION_MOVE,MotionEvent.ACTION_CANCEL
  3. 事件傳遞順序:Activity----ViewGroup----View
  4. 事件分發的主要方法:dispatchTouchEvent(),onInterceptTouchEvent()[只有viewgroup有這個方法],onTouchEvent()
三.ArrayList和LinkedList的區別
  1. ArrayList 的查詢效率比較高,增刪的效率比較差,適用於查詢比較頻繁,增刪較少的元素管理的集合
  2. LinkedList 的查詢效率低,但是增刪效率很高。適用於增刪的比較頻繁,查詢次數較少的元素管理集合
  3. ArrayListk擴容呼叫grow函式,每次擴容到原來的1.5倍,呼叫Arrays.copyof方法,即複製原陣列內容到一個新容量的大陣列裡
  4. 時間複雜度:
    隨機訪問 _ 陣列O(1) -----連結串列O(N)
    頭部插入/刪除 _ 陣列O(N)-----連結串列O(1)
    尾部插入/刪除 _ 陣列O(1)-----連結串列O(1)

相關文章