原创 6.0運行時權限的總結與實踐

爲什麼需要6.0運行時權限 更友好 6.0以前的安裝時權限,會在應用安裝時列出所有需要的權限,當列出一些危險權限時,用戶不知每個權限的具體用途,可能因爲這些權限警告而放棄安裝應用。對於一些非裝不可的應用,用戶則不得不被迫接

原创 性能優化(一)堆內存分析

前言 通過Android Studio的Memory Monitor工具,對各種數據類型,如:boolean,int,float,long,SparseArray,HashMap等在內存的佔用情況進行分析。對一些特定場景下的代碼編寫,

原创 高仿蘑菇街歡迎頁

蘑菇街歡迎頁 高仿效果 這裏這裏…Demo下載地址 前言 本文將介紹如何對蘑菇街歡迎頁效果進行分析,拆分,並一步步實現1個高仿版本,最重要的設計思路包括以下2點: 1.ViewPager切換時,通過offset偏移量動態修改V

原创 MVC,MVP,MVPVM(二)提升效率之Templates

文章目錄 1.MVC,MVP,MVPVM(一)實踐之路 2.MVC,MVP,MVPVM(二)提升效率之Templates 遺留問題 《MVC,MVP,MVPVM(一)實踐之路》中講到如何從MVC到MVPVM的轉變,將各個模塊分離,職責

原创 Android源碼中的一種單例實現

單例模式的實現方式有懶漢,餓漢,雙重校驗鎖,枚舉,內部類等等,寫法就不全部列舉了。Android源碼中一個單例輔助類/frameworks/base/core/java/android/util/Singleton.java,可以實現懶

原创 從客戶端的角度設計後端的接口

前言 兵馬未動,糧草先行。在一款APP產品的各個版本迭代中,兵馬的啓動指的是真正開始敲代碼的時候,糧草先行則是指前期的需求,交互,UI等評審準備階段,還有本文要說的接口的設計與評審。雖然很多時候一個api接口的業務,數據邏輯是後端提供

原创 DataBinding學習筆記(一)源碼分析

DataBinding整體使用流程 開發階段 UserModel.java public class UserModel { public String name; public String nickName;

原创 MVC,MVP,MVPVM(一)實踐之路

文章目錄 1.MVC,MVP,MVPVM(一)實踐之路 2.MVC,MVP,MVPVM(二)提升效率之Templates 簡介 分別使用MVC,MVP,MVP+VM,實踐具體需求,對比優劣,逐步優化。 需求 實現我的押金頁面,包含