原创 Android Framework之Activity啓動流程(三)

各位看官好,本文是Android Framework之Activity啓動流程的第三篇,本篇將分析Activity生命週期的回調,新世界的大門就在眼前,走起。 第一篇:Android Framework之Activity啓動流程

原创 JAVA源碼-LinkedList源碼分析

本文的分析基於Java 1.8源碼。 上篇分析了ArrayList的源碼,點擊這裏:ArrayList源碼解析 這篇將從構造方法、增刪改查、遍歷角度分析LinkedList源碼。 LinkedList是基於鏈表實現的List。老規

原创 JAVA源碼-ArrayList源碼分析

ArrayList是線性表的實現之一,也是我們平常開發中用的最多的一種容器類。 今天就講講其源碼實現。 先來看看其類圖。 可以看到其繼承自AbstractList類,也是Collection的子類之一,同時實現了Serializab

原创 Android系統啓動分析(三)

本節是本系列文章的第三篇,將分析System_Server進程的啓動過程和Launcher的啓動過程。 第一篇文章:Android系統啓動分析(一) 第二篇文章:Android系統啓動分析(二) 本節涉及到的文件有: 文件 路徑

原创 Android系統啓動分析(一)

本文的分析基於Android 8.1源碼。 Android系統啓動與應用程序的啓動流程、四大組件原理、AMS、ClassLoader等息息相關,因此瞭解Android系統啓動流程對深入理解Android有很大的幫助。 本文將分爲以下幾

原创 Android系統啓動分析(二)

本節是本系列文章的第二篇,將分析Zygote進程的啓動過程。 第一篇文章:Android系統啓動分析(一) 第三篇文章:Android系統啓動分析(三) 二、Zygote進程啓動 上節分析了Init進程的啓動流程。本節將進入到fram

原创 RecyclerView異常BUG

05-05 11:47:52.021 4882-4882/com.daijintao.youjin E/Andro

原创 分析Android長按電源鍵事件並定製長按電源dialog

本文的分析基於Android官方提供的Android7.0源碼 Android設備長按電源鍵,會彈出一個對話框。 現有一個需求,就是定製一個彈出的對話框。 Android在Frameworks下的PhoneWindowManag

原创 Android 7.0 Launcher3的啓動和加載流程分析

本文的分析基於MTK提供的Android 7.0源碼,並非Google官方提供的源碼,其中可能有一些小的差異,還望諒解。 Launcher的本質就是一個普通應用,它比普通應用多配置了Category的Android:name=”andr

原创 Android Framework之Activity啓動流程(二)

各位看官好,本文是Android Framework之Activity啓動流程的第二篇,接下來將爲大家帶來開啓Activity進程的流程。 第一篇:Android Framework之Activity啓動流程(一) 第三篇:Andro

原创 Git常用命令

Git是工作中使用最多的一個工具,平時的代碼也是用git來管理。分享一下平時使用最多的Git命令。 先上一張Git結構圖 命令: 1、初始化git git init //創建 git clone path //clone代碼

原创 Android Framework之Activity啓動流程(一)

本文的分析基於Android 8.1源碼。 本文章將分三篇爲大家講解。 第二篇:Android Framework之Activity啓動流程(二) 第三篇:Android Framework之Activity啓動流程(三) 在文章的

原创 Linux與Windows共享文件之Samba部署

一、起因 最近公司和展訊有個合作項目,因此他們那邊派人過來駐場開發。這是一個好的機會去了解更多的開發方式,原先 xshell+vim的方式實在效率太低,調試也不方便,被我百般吐槽。終於在和他們的溝通中瞭解到一個工具:samba。它可以實現

原创 JAVA-理解多態

前言   面向對象有三大特徵:封裝、繼承、多態。 封裝隱藏了類的內部實現機制,可以在不影響使用者的前提下改變類的內部結構,繼承是爲了重用父類代碼,而多態呢?今天我就談談自己對多態的理解。 多態   多態是指同一消息可以根據發送對象的不

原创 從getSystemService()出發獲取系統服務

(本文的分析基於Android7.0的源碼) 開始閱讀本文的你一定很好奇,爲啥在Activity使用getSystemSerive,傳入相應的系統服務名字就可得到相應的系統服務,這其中又是怎麼管理系統服務的呢?先不要急,本文將從最基礎的