原创 反編譯基礎知識

!!! 嚴正聲明 本文相關反編譯技術僅限於技術研究使用,不能用於非法目的,否則後果自負. 1. apktool 逆向APK文件的工具 官方網站 apktool主要用於逆向apk文件,可以將資源解碼,並在修改之後可以重新構建它們.它

原创 死磕Android_Service綁定流程分析(二)

通過startService只能是把Service給啓動起來,但是我們無法與其建立聯繫.通過bindService方式啓動Service的話,不僅能啓動Service,還能與其建立連接,相互調用比較方便.今天我們來理一理bindS

原创 2019 Android開發工程師面經

文章目錄1. Java基礎1.1 什麼是樂觀鎖?1.2 volatile關鍵字1.3 hashmap 原理,紅黑樹是什麼?1.4 jvm內存分配1.5 String,StringBuffer,StringBuilder 區別2.

原创 開源一個Flutter版WanAndroid客戶端

1. 前言 項目地址: https://github.com/xfhy/WanAndroid-Flutter 前段時間抽了點業餘時間學了點Flutter入門,打算寫個簡單項目練練手.說實話,只有真正動手寫東西才能真正切身感受到

原创 死磕Android_Glide主流程觀賞

文章目錄1. 前言2. 閱讀前準備3. with()4. load()5. into()6. 總結 1. 前言 首先,LPL賽區S9再度奪冠,讓我們恭喜FPX鳳凰涅槃! 好長好長一段時間沒有寫博客了,中間經歷了很多很多事. 比較慶

原创 Gradle系列(一) Groovy 基礎

1. 前言 Gradle系列已完成,專注於Gradle,有如下幾篇文章 Gradle系列(一) Groovy 基礎 Gradle系列(二) Gradle執行順序和task Gradle系列(三) Gradle配置構建和渠道包 Gr

原创 Gradle系列(三) Gradle配置構建和渠道包

1. 前言 Gradle系列已完成,專注於Gradle,有如下幾篇文章 Gradle系列(一) Groovy 基礎 Gradle系列(二) Gradle執行順序和task Gradle系列(三) Gradle配置構建和渠道包 Gr

原创 Gradle系列(二) Gradle執行順序和task

0. 前情提示 Gradle系列已完成,專注於Gradle,有如下幾篇文章 Gradle系列(一) Groovy 基礎 Gradle系列(二) Gradle執行順序和task Gradle系列(三) Gradle配置構建和渠道包

原创 JNI NDK入門詳解

Android開發中,由於各種原因(跨平臺,高性能,敏感數據處理等),這時候需要用到大家耳熟能詳的JNI(Java Native Interface).本篇文章將帶大家複習一下JNI中那些常用的知識點.所以本文中沒有一些基本環境配

原创 死磕Android_Handler機制你需要知道的一切

文章目錄1. 前言2. ThreadLocal工作原理2.1 ThreadLocal demo2.2 ThreadLocal源碼理解3. MessageQueue 消息隊列3.1 消息隊列插入3.2 消息隊列查詢(next)4.

原创 死磕Android_View工作原理你需要知道的一切

*本篇文章已授權微信公衆號 guolin_blog (郭霖)獨家發佈 平時在開發安卓的過程中,View是我們用的非常非常多的東西.用戶所看到的一切關於UI的,都是通過View繪製出來展示到屏幕上的.大多數情況下我們僅僅瞭解基本控

原创 死磕Android_Service啓動流程分析(一)

我這裏將啓動Service流程分爲兩章來寫,startService和bindService分別分析. 這篇文章是分析startService過程的源碼分析過程.其實startService和Activity的啓動很類似,好多地方

原创 無需編譯源碼,在Android Studio中輕鬆調試Android源碼

昨天我才發現, 原來在 Android Studio 中可以很輕鬆得調試 Android 源碼 0. 準備工作 在 Android Studio 中裝一個插件: ADB Idea 這個插件的功能, 其實就是利用 adb 實現一

原创 第一行代碼讀書筆記 Kotlin Android

郭神的Android第一行代碼更新了,聽到消息的我立馬就下單了,拿到書就開始如飢似渴地翻閱着.寫的特別棒,學到了很多東西,下面是一些我不太熟悉的東西. 開源項目如下: 天氣應用 https://github.com/xfhy

原创 一個Android菜鳥入門Flutter 筆記(二)

1. 網絡編程與JSON解析 默認的HttpClient請求網絡 get() async { //創建網絡調用示例,設置通用請求行爲(超時時間) var httpClient = HttpClient(); ht