原创 詳細解析Android的View事件分發機制 附帶源碼分析

View事件分發前言事件分發機制事件分發原因事件分發對象事件分發方法事件分發參與者事件分發流程事件分發源碼DecorView.dispatchTouchEventActivity.dispatchTouchEventgetWindow

原创 從Activity加載源碼深入理解ActivityThrad的工作邏輯

ActivityThread源碼解析前言類簡稱類簡介一二三四五代理和樁的理解ActivityThreadActivityThread.mainAT.attachAMN.getDefault()AMP.attachApplication

原创 解析Android中Zygote進程是如何fork一個APP進程的

zygote進程fork子進程前言強烈推薦進程創建流程APP啓動第三方應用startActivitystartServicesendBroadcastContentResolver.querySystem Server請求創建進程AM

原创 Android系統啓動流程概述 init進程啓動流程 zygote進程啓動流程 system server進程啓動流程

啓動流程 Android系統啓動過程往細了說可以分爲5步: Loader –》Kernel –》Native –》Framework –》Application Loader Boot ROM: 當手機處於關機狀態時,長按Po

原创 Git使用錯誤集合【一】

git push origin master : master 當我使用這個命令進行提交的時候,報錯如下 error: dst ref refs/heads/master receives from more than one src

原创 Android開發中遇到的問題及小知識總結【二】

URL轉碼 關於url下載鏈接中包含中文導致下載失敗的問題處理方法 先用URLEncoder將整個url進行轉碼,但是轉碼後還需要將url中的 / ,: ,空格等再轉回來 downUrl = URLEncoder.encode(dow

原创 OKHttp3詳細使用及源碼分析系列之初步介紹【一】

前言 HTTP 在1960年一個美國人Ted Nelson提出了一種通過計算機處理文本信息的方法,稱之爲超文本(hypertext),這就是Http超文本傳輸協議標準架構的發展根基;接下來他組織WWW協會(World Wide Web C

原创 Android之Activity啓動源碼分析 Launcher啓動Activity 應用內啓動Activity

在平時的使用中,我們啓動一個Activity用的最多的方式有兩種,一種是在手機桌面點擊應用icon啓動應用,即啓動應用的第一個Activity,也就是在Launcher啓動Activity;另一種是在應用內部通過startActivity

原创 Android中進程間通信Binder機制之Service Manager 啓動【三】

源碼路徑如下: framework/native/cmds/servicemanager/ - service_manager.c - binder.c 具體功能如下: SM本身也是一個Server,是Binder

原创 談談Android中View的繪製流程及performTraversals方法

談談Activity的setContentView是怎麼加載XML視圖的 談談Activity的View怎麼與View繪製工具ViewRootImpl關聯的 在前面兩篇文章中分析了View是如何跟繪製工具ViewRootImpl關聯的

原创 Android中的Activity相關知識點整理

定義 Activity:是Android與用戶進行交互的接口,它提供了一個界面供用戶點擊,滑動等操作,這就是Activity的意義 Activity生命週期: 1.activity的4種狀態 running:表明activity正活躍

原创 WEB前端開發準備-Atom編輯器使用說明 Atom插件推薦 Atom快捷鍵

侃侃 Web前端開發是從網頁製作演變而來,名稱上有很明顯的時代特徵。在互聯網的演化進程中,網頁製作是Web1.0時代的產物,早期網站主要內容都是靜態,以圖片和文字爲主,用戶使用網站的行爲也以瀏覽爲主。 2005年以後,隨着互聯網技

原创 Android序列化和反序列化的實現 Serializable Parcelable

定義 在Java中的對象序列化指的是將一個Java對象所描述的內容轉換爲可以存儲和傳輸的形式的過程,通常是將對象轉換爲字節序列;反序列化就是相反的過程,將字節序列恢復成對象 序列化用途 將對象的字節序列持久化到硬盤中,通常是存放在文件裏

原创 Android中的一些Java基礎知識

面向對象特徵 封裝,繼承,多態 封裝:將類的某些信息隱藏在類內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問。 繼承:這是類與類之間的關係,子類繼承父類,表明子類是一種特殊的父類,並且具有父類所不具有的一

原创 談談Activity的View怎麼與View繪製工具ViewRootImpl關聯的

本文研究基於api24 上一篇談談Activity的setContentView是怎麼加載XML視圖的我們瞭解到了添加的佈局文件中的View是如何被添加到Activity的窗口的,今天要解決的是添加到PhoneWindow的View是怎