原创 設計模式-享元模式(Flyweight)的分析說明和Android中的關鍵應用

介紹 寫博客總是需要動力和動機的,最近在看Android線程和進程的分析,其實就是Handler這個Android開發中最重要的東西。說來慚愧現在也只是會用的程度。本着要進步的心態我需要在這塊下功夫研究。代碼要一行一行的寫,書要一

原创 設計模式-單例模式(Singleton)各種寫法和分析比較

介紹 單例模式是設計模式中比較簡單容易理解的。它的出現主要是: 保證一個類僅有一個實例,並提供一個訪問它的全局訪問點 其實就在系統運行期間中保證只有這麼一個實例,並能夠全局訪問。應用場景就是當需要一個對象時,這個對象需要整個系

原创 Android官方說明--返回鍵和toolbar向上按鈕的區別

使用返回和向上導航 實現有效導航 一致的導航操作是整體用戶體驗的重要組成部分。如果基本的導航方法都不能保持一致,甚至讓用戶意想不到的話,恐怕沒有比這更讓人沮喪的事情了。 Android 3.0對全局導航行爲做出了重大改變

原创 設計模式-備忘錄模式(Memento)的詳解

介紹 關於Java設計模式我們都知道有一種備忘錄模式,對於作用看名字大概就知道應該和狀態保存有關。本文就從定義到示例代碼進行說明詳解。 定義 備忘錄模式定義:在不破壞封裝性的前提下,捕獲對象的內部狀態。 本質:保存和恢復內部狀態 作用

原创 MVP架構-Android官方MVP項目和響應式MVP-RxJava項目架構分析對比解讀

介紹 MVP這個架構一直是Android開發社區討論的焦點,每個人都有自己的分析理解衆說紛紜。直到GitHub上Google官方發佈用MVP架構搭建的項目。感覺是時候分析了。 MVP架構簡介 這不是本文重點,所以摘抄自李江東的博文 MVP

原创 Android開發-BottomSheet的使用和說明

介紹 在官方提供的android.support.design.widget包中,加入bottom sheet能夠很方便的實現一些酷炫的功能。官方blog說明得比較簡單,中文博客上也有一些介紹和說明 Android Bottom She

原创 ReverseSuper:優雅的重構,一鍵生成動態代碼,支持生成接口/抽象類

ReverseSuper 作用 一鍵生成動態代碼,支持生成接口/抽象類 引用 implementation 'com.licola:reversesuper-annotation:1.2.0'//註解庫 an

原创 Android開發-從源碼分析Fragment嵌套PagerAdapter生命週期,解決重建問題

介紹 衆所周知在Android開發中Fragment的生命週期非常複雜,複雜得甚至讓Square公司提出了我爲什麼主張反對使用Android Fragment轉而提倡使用自定義View組合替代Fragment。但是沒辦法公司項目還是使用了

原创 Android開發-備忘錄模式在Android的應用和模擬實驗

介紹 在上一篇設計模式-備忘錄模式(Memento)的詳解中,使用文字和示例代碼解釋了備忘錄模式。對於備忘錄模式的理解是本文基礎。如果還不瞭解備忘錄模式還請參考上一篇 首先我們都知道Android移動設備因爲內存大小問題,會經常發生GC

原创 Android-怎樣實現一個非阻塞的超時重試任務隊列

起因 最近接手一個項目,要把其中的阻塞任務隊列,重構成非阻塞。在客戶端很少有機會直接處理任務隊列。項目完成需要總結經驗。 阻塞的發生 我這裏先說明我遇到的阻塞問題,我這裏的阻塞不是多線程訪問的阻塞,概念上是任務執行的阻塞。具體是: 任務

原创 Android開發-優雅的實現動態圖片排版(類似微信圖片展示效果)

介紹 效果展示 說明 上面的圖片排版 - 實現了動態佈局,針對不同圖片的數量展示不同的排版佈局。效果類似微信朋友圈的圖片排版,效果略有不同。 - 正方形的圖片控件,高度會隨着寬度一起變化。 實現這樣的佈局有很多種思路,只是什

原创 Android-怎樣計算Bitmap的內存佔用和Bitmap加載優化

介紹 在Android開發中Bitmap肯定是繞不過去的,很多時候我們只是使用圖片框架加載圖片,具體細節的Bitmap對內存的使用圖片框架已經幫我們封裝好了。但是對Btimap對內存的影響我們還是需要了解的。 內存佔用 首先要清楚Bitm

原创 線程池運行機制分析-線程複用原理

介紹 我們在涉及到多線程開發時,必然就涉及到線程池的使用,在阿里巴巴-Java開發手冊中說到: 【強制】線程資源必須通過線程池提供,不允許在應用中自行顯示創建線程 說明:使用線程池的好處是減少在創建和銷燬線程上所花費的時間以及系統

原创 Android開發-事件分發機制實驗分析ViewGroup、View事件分發,結合職責鏈模式

介紹 上一篇博客職責鏈/責任鏈模式(Chain of Responsibility)分析理解和在Android的應用 介紹了職責鏈模式,作爲理解View事件分發機制的基礎。 套用職責鏈模式的結構分析,當我們的手指在屏幕上點擊或者滑動,

原创 Android開發者-對Java和編程的一點總結

介紹 Java基礎是每個Android程序員必備的,因爲語法糖和封裝以及編譯器優化的存在我們可以不用關心一些細節的實現,但是一旦發生bug或者代碼的優化,Java的細節基礎就很關鍵。本文來自日常開發和隨時隨地的coding靈感不時更新。