原创 Android系統消息處理機制

Android系統消息處理機制 前言 在Android應用開發中,主線程一般都是UI操作,子線程去完成一些耗時操作。主線程會一直等待系統或者用戶的響應,從而完成對UI的渲染和顯示。在學些之前,先了解兩個linux的知識點: 管道

原创 Eclipse遷移到Studio遇到的那些坑

爲啥要遷移 話說Android studio出來已經很長一段時間了,也知道用起來很爽,但是就是懶,不想對公司的項目做很大的變動。可是後來發現,繼續用Eclipse真的很不方便,studio有很多的優勢所在,下面列舉出一二: A

原创 Android系統服務死鎖、Anr檢測機制

Android系統服務死鎖、ANR檢測機制 Android系統運行以後,System_server中可能有成百上千個線程在運行,各種服務之間調用很頻繁,也很複雜,難免會出現死鎖和長時間未響應的問題。這個問題對於系統來說是非常嚴重的

原创 Android Framework 狀態機實現原理

Android Framework 狀態機實現原理 前言 狀態模式是比較一種常見的設計模式,爲了解決某個事物很多狀態之間的切換很多的業務邏輯,這樣可以避免很多if-else嵌套,不僅提高了代碼的可讀性,同樣拓展性也得到很大的提升。

原创 TextView 那些鮮爲人知的方法

綜述 一起先看看官方文檔怎麼說的: Displays text to the user and optionally allows them to edit it. A TextView is a complete text

原创 帶你徹徹底底弄懂Scroller

Scroller的使用 這是一個滑動幫助類,並不可以使View真正的滑動,而是根據時間的流逝,獲取插值器中的數據,傳遞給我們,讓我們去配合scrollTo/scrollBy去讓view產生緩慢滑動,產生動畫的效果,其實是和屬性動

原创 Android系統音頻模塊-數據傳輸工作

Android系統音頻模塊-數據傳輸工作 前言 在Android系統中,比較大塊的數據傳輸一般都是通過binder和共享內存共同完成的,音頻亦是如此。由前面兩篇文章所知,音頻播放有兩種模式,一種是static模式,另一種是stre

原创 Android系統音頻模塊-Native層初始化工作

在前面一篇的文章中,我們知道了音頻模塊Java層所做的一些事情,總的來說還是比較簡單的,下面我們繼續學習和探索Native層中系統做了什麼工作,首先先簡單介紹下,Native層採用了C/S的架構方式,AudioTrack是屬於Client

原创 Volley 源碼解析(二)

圖片加載 用過Volley圖片加載的老司機們可能對這段代碼非常的熟悉: imageLoader.get( url, ImageLoader.getImageListener(iv, R.mipmap.a

原创 中間件服務實踐

序言 16年年底,做了一個車載行業的項目,是基於公司的設備對出租車905協議解析保持與平臺和設備其他進程保持通信的中間層服務。這個服務我們暫稱爲TaxiUsi,他和平臺以及設備進程以及Client都有通信,且都是雙向的,整體來說還是比較複

原创 SystemUI 剖析

序言 17年上半年主要做車機項目SystemUI的工作,一般的來說可以選擇在源碼的基礎上定製,也可以重新編寫。具體選擇哪種方案,也要根據自身項目的需求和工作量來考慮,但是不管選擇哪種,都需要對SystemUI源碼有一定的瞭解。本文主要先從

原创 Activity 啓動流程分析

如何啓動 每當我們使用startActivity()的時候,系統就會爲我們啓動個Activity。雖然代碼簡單,但是Activity的啓動是非常複雜的,我們一起去看看: public void startActivityForResu

原创 Android系統音頻模塊 - Java 層初始化工作

前言 Android的音頻模塊相對來說是Android系統中比較簡單的一個模塊,但是僅僅是相對來說,Android系統中任何一個模塊都非常的複雜,但是如果想學習framework相關的知識,我覺得音頻模塊是一個很好的切入點。Android

原创 打造一個萬能刷新加載控件

序 最近幫一個老總搞一個物流項目,原本想着在這個經濟下滑的階段賺點外快也還不錯,結果在開發的過程中並非我開始想象的那麼輕鬆,物流項目的業務還是比較複雜的。什麼都不想多說了,先寫篇博客壓壓驚。這次一起打造個萬能刷新加載控件,其實剛接觸and

原创 Android 抽獎轉盤的實現

** 本篇文章已授權公衆號 guolin_blog (郭霖)獨家發佈 ** 序言 最近需要實現一個抽獎的控件,我簡單搜索了下,感覺要不很多細節地方沒有處理,要麼,根本就不能用。索性想自己實現個,從千圖網搜了下,挑選了個自己比較喜歡的出來