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