貪婪:默認情況下 *、?、+ 和 {n,m} 是貪婪的,因為它們消耗到最后一個能滿足整個模式的所有字符。要讓它們停在 首個 可能的字符, 要在它...
上一篇 分析了實現一個 Android 多任務多線程下載器需要考慮的問題,這一篇就開始分析具體的代碼實現了Demo地址:https://gith...
前段時間面試,被問到 app 的自動更新是怎么做的,文件下載怎么實現的?用了多線程嗎?是否支持斷點續傳?一下蒙逼,因為直接用第三方框架實現的文件...
1. 簡單情形 1.1 startService() -> stopService() 調用 startService() 啟動服務:onCre...
這不只是一篇面試題的匯總,也有自己在學習 Java 過程總結的比較重要的或容易模糊的知識點,故整理如下 1. 為什么說內部類會隱式持有外部類的引...
事件的分發在 View 中和 ViewGroup 中有所不同,分兩部分進行分析 1. View 中的事件分發 View 的事件分發都從 disp...
總結了幾篇系統底層相關的文章,終于要接觸到應用層了,不過需要提前掌握 Binder架構,系統啟動流程,進程啟動流程 的相關姿勢,不然很難理清整個...
Android 中所有應用的進程都是從 Zygote 分裂出來的,而進程也是承載各種應用、服務的基礎,所以啟動任何的服務和應用的第一步就是創建一...
1. 從 init 開始(init.cpp) init 進程是用戶空間啟動的第一個進程,init 通過:解析 init.rc 文件 -> 創建 ...