原创 《Java核心技術36講》筆記總結

1.談談你對Java平臺的理解? 2.Exception和Error有什麼區別? Exception和Error都是繼承了Throwable類,在Java中只有Throwable 類型的實例纔可以被拋出(throw)或者捕獲(cat

原创 萬表商城Android架構演進

入職萬表接近兩年,從一入職就進行商城系統全新重構改版,經歷過大半年的封閉式加班,到新商城的重構完成緊接着是新商城的業務完善與拓展。見證了開發團隊一路走來的努力,Android團隊也在自己的想法中向前邁進。 前言 在公司的發展方向上

原创 Android應用優化之冷啓動優化

前言 事件發生在發包上線的前兩天,在某某雲進行移動測試時,提示冷啓動速度低於平均值的問題,之前自己也曾嘗試過優化,但是發現效果並不是很明顯,作爲一個有追求的開發者,趁着有點空閒時間,要好好研究一下冷啓動優化問題。 App的啓動流程 我

原创 Android應用優化之代碼檢測優化

前言 最近換了新的公司,面對新的代碼大家都有不同的熟悉過程和方法。在我的角度來說,利用代碼檢測工具,可以更直接地去熟悉代碼邏輯和業務邏輯,表現得自己去代碼質量很有追求,最重要當然是在公司的任務管理工時上面顯得自己積極向上啦。不過在修改代碼

原创 Android事件分發機制源碼分析之ViewGroup篇

上一篇分析了Android事件分發機制源碼分析之View篇 ,按照計劃我們這篇分析一下關於ViewGroup的事件分發。 那麼我們首先要清楚理解一下View和ViewGroup之間的關係,我選取LinearLayout爲例子,我們看一下L

原创 EventBus3原理分析

在接入微信支付的時候,爲了傳遞支付結果的值,就使用了EventBus,那時候只是簡單瞭解了EventBus的使用,現在有時間就來深入研究一下EventBus的實現原理和源碼。 EventBus的介紹 可能有部分同學還沒有使用過Even

原创 你需要知道的Android View的創建

View的創建與繪製一向是很多人望而止步的問題。然而我們在平常的應用開發中是最經常運用到的setContentView(),我們都會用在Activity的onCreate()的時候調用setContentView()來加載編輯好的XML佈

原创 你需要知道的Android View的佈局

上一篇我們分析Android View的測量。我們先回顧一下,View的測量,在ViewRootImpl#performTraverals方法下,先進行對DecorView根佈局測量獲取MeasureSpec,然後開始執行測量perfor

原创 Android應用優化之內存概念

導語 現在的Android智能手機發展信息萬變,從一開始的HTC到小米價格戰到現在高端市場份額戰,在軟硬件都發生了翻天覆地的變化。在硬件上內存從一開始的一兩百M到現在4G。從軟件上我們從一開始爲了實現需求而寫代碼到現在爲了代碼更健壯、更漂

原创 Android應用優化之流暢度優化實操

上一篇流暢度概念向大家詳細地描述了VSync機制和Choreographer編舞者的用法。可能所講解的內容偏向理論概念,因此這篇是流暢度優化實操,整篇主要分三層,UI層、代碼邏輯層、IO層來講述各個優化點,其中還會穿插多個輔助檢測插件。可

原创 Android應用優化之流暢度

前言 對於現今市面上針對於用戶交互的應用,都有使用列表去展示信息。列表對於用戶來說是十分好的瀏覽、接收信息的一個控件。對於產品來說,列表流暢度的重要性就不言而喻了。而流暢度的好壞,對一個產品的基本體驗和口碑有着極大的影響。然而Androi

原创 Android事件分發機制源碼分析之View篇

對於Android事件分發機制,我們在開發的過程中,肯定曾經遇到在最外層添加了ScrollView之後ListView無法正常滑動、我們的圖片輪播在左右滑動圖片爲什麼感覺很難控制。這些都是我們用戶在屏幕上進行交互的一系列操作,因此深入瞭解

原创 設計模式之觀察者模式

觀察者模式是面向對象編程中較爲常見的一種設計模式,觀察者模式又稱爲訂閱發佈模式,可能大家對觀察者模式從字面上可以理解,但是對代碼層面上不太清楚如何實現,通過本文學習,相信你會對觀察者有一個更清晰的瞭解。 定義 觀察者模式:定義了對象之

原创 Android動畫之屬性動畫基礎用法

在上一篇Android動畫基礎之補間動畫與逐幀動畫 ,我們複習了Android的基礎動畫Tweened Animation、Frame Animation,同時指出他們的缺陷,改變是View的顯示效果而不是View本身的屬性,還有我們不多

原创 你需要知道的Android View的測量

上一篇我們說到了Android View的創建,我們先回顧一下,DecorView是應用窗口的根部View,我們在View的創建簡單來說就是對DecorView對象的創建,然後將DecorView添加到我們窗口Window對象中,在添加的