Android

線程間通信

  • 主線程和工作線程


    主線程和工作線程
  • 工作線程與工作線程


    工作線程與工作線程
  • 為什么主線程Looper.loop()一直死循環(huán),為什么沒有卡死?
    主要死循環(huán)中Looper.loop()中
Message msg = queue.next(); // might block

一直在等待,不占用CPU。

image.png

具體看nativePollOnce函數(shù)分析

自定義View

onMeasure()--->onLayout()--->onDraw()

注:除了自繪控件需要搞清楚三個方法(onMeasure, onLayout, onDraw)外其他兩個自定義相對比較簡單。

  • invalidate()與postInvalidate(),requestLayout()三者區(qū)別?
    | | invalidate() | postInvalidate() | requestLayout() |
    | ----- | ----- | ----- | ----- |
    | | 在ui線程執(zhí)行 | 在工作線程執(zhí)行 | |
    | | onDraw() | onDraw() | onMeause(),onLayout(),onDraw()|
  • onMeasure()有幾種Mode?

有三種模式:
 UNSPECIFIED
  這說明parent沒有對child強加任何限制,child可以是它想要的任何尺寸。
 EXACTLY
  Parent為child決定了一個絕對尺寸,child將會被賦予這些邊界限制,不管child自己想要多大。
 AT_MOST
  Child可以是自己任意的大小,但是有個絕對尺寸的上限。

事件分發(fā)機制

跨進程通信IPC

RPC指的是跨進程遠程調用,強調了調用的功能,即一個進程之間調用另外一個進程的方法。
IPC指的是進程間通信,android使用Binder機制來進行進程間的通信,沒有調用的功能。

通信方式:

  • Binder機制
  • socket
  • 管道
  • 消息隊列
  • 共享內存
  • 信號量

傳遞數(shù)據(jù)類型:

  • intent
  • 基本類型
  • 文件共享
  • Content Provider

RPC機制

image.png

Android適配

Android動畫

  • Frame Animation(幀動畫):按順序播放事先做好的圖像
  • Tween Animation(補間動畫):只能對View進行平移,縮放,漸變,旋轉
  • Property Animation(屬性動畫):API11開始引入,基于Object進行屬性改變而
    達到動畫效果
  • 使用動畫場景
    • 轉場動畫
    • 加載動畫
    • 其他動畫

Bitmap四種屬性

ALPHA_8:每個像素占用1byte內存
ARGB_4444:每個像素占用2byte內存
ARGB_8888:每個像素占用4byte內存 (默認)
RGB_565:每個像素占用2byte內存(沒有alpha屬性)

Android繪制圓形圖片的方法總結

  • 使用Xfermode 相交模式:一般選擇這種方式
  • 通過裁剪畫布區(qū)域實現(xiàn):邊角有鋸齒
  • 使用BitmapShader:不適合畫太復雜圓,比較耗內存

定義Java注解處理器

Android ListView 與 RecyclerView 對比淺析

  • 使用:ListView默認只支持垂直滾動,定義了比較多通用方法。RecyclerView支持水平和垂直滾動,定義比較多抽象接口具體實現(xiàn)由自己實現(xiàn),擴展性強。
  • 緩存:ListView二級緩存,一是離開屏幕View加入緩沖池,進入屏幕view復用緩沖池view,二是緩存多種類型view,更換adaper就清空。RecyclerView比ListView多兩級緩存四級緩存,另外兩個緩存為默認緩存離開屏幕的2個view和多個RecyclerView共用一個緩存池(上限5個))。
  • 緩存本質區(qū)別:ListView緩存View,RecyclerView緩存View+ViewHolder+flag

生還是死?Android 進程優(yōu)先級詳解

  • 前臺進程
  • 可見進程
  • 服務進程
  • 后臺進程
  • 空進程

MVC,MVP,MVVM與架構經驗談

image.png

插件化

參考資料

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容