原创 apk性能優化--瘦身的那些事兒

前言: 你是否曾今被迫接手一個浩瀚又陌生的項目,面對繁雜的代碼總有些力不從心且心聲厭倦;你是否曾今經歷碼字五分鐘,編譯兩小時;你是否曾今在下載某一款app時因爲要下載很久而吐槽或放棄。而這些或多或少都和代碼不規範、冗餘,apk體積過大有關

原创 盤點android中常見的設計模式(六) -- 代理模式

簡介: 接口隔離原則(Interface Segregation Principle): 1、使用多個隔離的接口,比使用單個接口要好。 2、降低類之間的耦合度。   代理模式: 在代理模式中,一個類代表着另一個類的功能,其意在爲其他對象提

原创 盤點android中常見的設計模式(五) -- 責任鏈模式

簡介: 依賴倒轉原則 今天來說一下設計模式的6大原則之一的依賴倒轉原則。這個原則是開閉原則的基礎,其具體的內容爲:針對接口編程,依賴於抽象而不依賴於具體。   責任鏈模式: 責任鏈模式(Chain of Responsibility Pa

原创 盤點android中常見的設計模式(三) -- 原型模式

簡介: 開閉原則 今天來說一下設計模式的6大原則之一的開閉原則。開閉原則是由勒蘭特·梅耶在1988年的著作《面向對象軟件構造》中首先提出的,其中提到了開閉原則的定義:對擴展開放,對修改關閉。即在程序需要進行拓展的時候,不能去修改原有的代碼

原创 盤點常用的Android開發庫(4 ) -- Rxjava2的基本使用

一、簡介 RxJava是Reactive Extensions(Rx)的Java VM實現:該庫用於通過使用可觀察的序列來組成異步和基於事件的程序。 它擴展了觀察者模式以支持數據/事件序列,並添加了運算符,使您可以聲明性地將序列組合在一起

原创 盤點常用的Android開發庫(1) -- EventBus

一、簡介 EventBus是Android和Java的發佈/訂閱消息總線。它簡化了組件之間的通信,將事件的發送者和接受者進行分離、避免了複雜且容易出錯的依賴關係和生命週期問題、並且體積小、效率高、使用簡單。 二、使用 1.添加依賴 im

原创 ANR?不存在的

什麼是ANR? ANR是Application Not Responding的縮寫,即應用程序未響應。在android中,當你的應用程序在一段時間內響應不夠靈敏,即其界面線程處於阻塞狀態的時間過長,就會觸發ANR錯誤。 這個時候如果你的應

原创 盤點android中常見的設計模式(一) -- 單例模式

題外話: 近期由於新型病毒疫情比較嚴重,本着珍愛生命的原則,我也只能窩在家裏自我隔離,但又不想浪費這大好時光,就想着一直以來就對android中常見的設計模式一知半解,正好趁現在邊複習邊學習,順便記錄下來,希望對以後的自己有所幫助。最後小

原创 盤點android中常見的設計模式(七) -- 組合模式

簡介: 迪米特法則/最少知道原則(Demeter Principle): 一個實體應當儘量少地與其他實體之間發生相互作用,使得系統功能模塊相對獨立。 合成複用原則(Composite Reuse Principle): 儘量使用合成/聚合

原创 盤點常用的Android開發庫(2) -- ButterKnife

一、簡介 Butterknife是一款andoid平臺應用廣泛的依賴注入框架,使用Butterknife可以避免大量的findViewById,setOnClickListener等查找View、綁定事件的代碼,同時對應用性能也基本沒有影

原创 盤點android中常見的設計模式(二) -- Builder模式/建造者模式

簡介: 設計模式的類型 創建型模式: 這些設計模式提供了一種在創建對象的同時隱藏創建邏輯的方式,而不是使用new運算符直接實例化對象。這使得程序在判斷針對某個給定實例需要創建哪些對象時更加靈活。 常見的這類設計模式有工廠模式、抽象工廠模式

原创 GC機制,你真的瞭解嗎?

前言 GC(Garbage Collection)相信是每一個程序猿(媛)都熟知的了。作爲一個Android開發者,無疑我們是幸福的,因爲我們不用像C語言那樣還需要手動進行垃圾回收,但同時我們又是不幸的,由於android市場的碎片化,各

原创 Android Crash 治理之道

Crash知道: Crash是指由於未處理的異常或者信號導致的意外退出,使得Android應用崩潰。當應用崩潰時,Android會殺死應用的進程並顯示一個對話框來告知用戶,他的應用由於未知的意外而停止了。當然現在的國內廠商自定義的系統大多

原创 盤點android中常見的設計模式(九) -- Adapter/適配器模式

適配器模式: 今天來複習下android中基本上天天都在用的一種設計模式,適配器模式,對於android的每一個ListView或者RecycleView,我們都需要用一個adapter來適配它每一個Item的佈局。像這種將原本兩個不兼容

原创 盤點android中常見的設計模式(八) -- 觀察者模式

觀察者模式: 什麼是觀察者模式(Observer Pattern)?這裏我們舉個栗子:一隊警察部署在不同的位置觀察着犯罪分子的活動,當犯罪分子進行某個特定的行爲時,比如進行非法交易的時候,這隊在不同位置的警察同時出擊抓捕罪犯。這就是一種觀