原创 關於AsyncTask使用及原理的一些說明

AsyncTask這個類用的比較多,平時做項目時,一般用在文件下載這一塊多比較多。其使用起來還算方便,實現根本的原理還是Thread + Handler。這篇文章就來談談AsyncTask的基本使用以及其原理實現,同時說說其和Ha

原创 Android開發調試技巧

Android開發過程中會遇到不少需要調試的地方,常用的調試也很簡單,這裏總結一些不是很常規的調試技巧(持續更新) 1、寫本地日誌 利用BufferWriter類來實現,不多說廢話,直接上代碼,這個後面方便傳代碼到git的時候,放

原创 Acivity啓動流程分析

實際上,分析過很多次Activity啓動流程,每次分析完成後很快就忘記了,網上也有很多博客寫的很優秀,但是對我而言總是少了點什麼,於是這篇博客決定在Android 9.0源碼基礎上梳理一次Activity啓動流程,這裏提供一個在線

原创 機器學習知識點總結

本篇博客持續更新中 關於機器學習入門知識點參考以下博客: 零基礎入門深度學習(1) - 感知器 零基礎入門深度學習(2) - 線性單元和梯度下降 零基礎入門深度學習(3) - 神經網絡和反向傳播算法 零基礎入門深度學習(4) -

原创 HashMap基本原理總結

在日常開發工作中,HashMap經常被使用到,作爲一個有探索精神的程序員肯定得搞清楚其基本原理的吧。 說到HashMap必須的說一下哈希算法,散列算法(Hashing)是一種將字符組成的字符串轉換爲固定長度(一般是更短長度)的數值

原创 淺談AsyncImageLoader和Glide加載本地圖片性能對比

距離上一次寫博客已經很長時間,主要原因還是因爲太懶了,而最近心思又不在技術上所以才長時間沒有跟新博客。這篇文章來簡單說說Glide和AsyncImageLoader加載本地圖片上的表現吧。 關於Glide的用法及源碼解析可以參考郭霖大

原创 關於synchronized關鍵字的認識

很多時候在閱讀Android源碼時,都會碰到synchronized這個關鍵字,實際上我一直是知道這個方法的作用是讓方法或者代碼塊的操作具有原子性,從而解決多線程共享資源的問題,但是這個概念一直比較模糊,這裏就趁着這篇文章來梳理一下。 1

原创 從原理上粗略認知Android線程池(ThreadPoolExecutor)

在開發過程中,可能經常遇到下面的開發場景,即一個列表加載網絡圖片,比如加載100個網絡圖片,我們是不是就要去新建100個線程來下載對應的圖片,這種做法當然是能夠實現功能的,但是100個圖片就100個線程也太誇張了,可能導致線程之間互相搶佔

原创 MAT在內存分析中的簡單使用

在Android開發過程中,經常會遇到各種內存泄漏和內存溢出的問題,所謂的內存泄漏是指部分已經不再使用的變量還繼續佔用內存得不到及時釋放,而內存溢出則是指Android虛擬機會給每個應用(對應一個進程)可分配的內存是有限的,當該應用佔用的

原创 Ubantu18.04環境下編譯android源碼

最近在看金泰延老師寫的《Android 框架揭祕》一書,第一章就是下載並編譯android源碼,書中內容較爲陳舊,所以不得不到網上收羅各種資料,最後總算是大功告成,現在總結如下。 1、安裝git和repo並配置 安裝git通過下面命令實現

原创 APK簽名流程介紹

實際上,現在Android開發IDE自帶簽名功能,但是有時我們還是可能遇到自己簽名apk的場景的,比如你有一個未簽名的apk,但是你要adb install到device上,這時我們在adb install之前就必須對該apk進行簽名處理

原创 Intent在Android開發中的使用總結

關於Intent的使用,其實已經有很多文章進行了詳細的介紹,包括谷歌開發者網站也有進行很詳細的介紹。這裏再重複這個輪子的過程,主要是加深自己對Intent的認識,以及方便之後的查閱。 1、Intent是什麼 Intent是一個消息傳遞對象

原创 Android事件分發攔截以及處理分析

在Android開發中,經常遇到如下場景,在一個ViewGroup中嵌套有其它ViewGroup或者View,這時點擊被嵌套的ViewGroup或者View,這時點擊事件到底是怎麼被處理的呢?下面就以下面的嵌套爲例子來說明 從圖中可以

原创 Win7環境下Cygwin中Git可視化配置(gitk配置)

我們知道cygwin可以在windows系統中模擬linux開發環境,自然我們也就能夠在其中配置git,配置git的教程很多了,網上一搜一大把,這裏給一篇吧(不一定保證對),童鞋們可以去看看這篇Windows下Git的安裝與配置(Cygw

原创 Android中的動畫實現

android開發中用到的動畫實現方式有三種,即View動畫、Drawable動畫以及屬性動畫三種動畫的實現方式,關於這些動畫的實現方式網上很多文章都總結的很詳細了,寫這篇文章完全是爲了自己總結記錄,而且本文不會去追究代碼細節的問題,就單