原创 超實用!打包、配置項目必備的Gradle實戰技巧!

官方參考https://developer.android.com/studio/build/gradle-tips.html以下都是經過實戰總結、多次調整的gradle配置方案,歡迎採用,提意見一 自動命名打包的不同版本 applicat

原创 JSON、Protobuf、Thrift、MessagePack 對比和開發指南

主流序列化協議優缺點和網站推薦 JSON 優點 1 簡單易用開發成本低2 跨語言3 輕量級數據交換4 非冗長性(對比xml標籤簡單括號閉環) 缺點 1 體積大,影響高併發2 無版本檢查,自己做兼容3 片段的創建和驗證過程比一般的XML複雜4

原创 Android 四種陰影實現方式對比

1 點九生成陰影優點 隨意調整 效果立即可見,快速實現。 缺點 自帶大小會壓縮佈局;如果佈局內有圖片,容易被圖片覆蓋陰影https://inloop.github.io/shadow4android/2 shape生成陰影<?xml ver

原创 著名音頻庫多角度對比(多平臺可用)

自己CSDN的博客搬家轉過來的 CSDN上傳太麻煩,而且同質化比較嚴重,在這裏從零開始

原创 RxJava2.x 萌新之路 操作符篇

操作符總覽Rxjava爲函數式編程提供了衆多的操作符,操作符的運用可以使得程序邏輯更爲簡潔。網上已有衆多操作符說明教學,但不親身總結和嘗試一遍,是難以體會到其中奧妙與融會貫通的,簡單記錄總結以備大家使用參考。創建操作符just自動依次發送事

原创 國外知名音頻庫一站式資料和簡介

自己CSDN的博客搬家轉過來的 CSDN上傳太麻煩,而且同質化比較嚴重,在這裏從零開始Speex簡介Speex是一套主要針對語音的開源免費,無專利保護的音頻壓縮格式。Speex工程着力於通過提供一個可以替代高性能語音編解碼來降低語音應用輸入

原创 Netty線程模型、Future、Channel總結和源碼分析

Netty線程模型 可根據需要配置線程模型:單線程Reactor、多線程Reactor、多層線程Reactor 無論幾個線程,都通過單一的Acceptor接收客戶端請求,可以創建更多的NioEventLoop來處理IO操作。 EventLo

原创 設計模式一句話與實戰應用總結

訪問者模式 一句話 實現了訪問者和被訪問者分離,靈活且擴展性強;但違背了迪米特和依賴倒轉原則,被訪問元素若修改影響較大。 細節 雙分派技術(雙動態綁定) 訪問者的角色由它的實現對象確定 被訪問的角色也由它的具體對象決定 應用場景 源碼:

原创 Android 類加載模式

類圖 相關類介紹BootClassLoader調用流程 1、ZygoteInit的main方法 2、預加載常用類 3、讀取預加載類名時獲取BootClassLoader單例 4、調用classForName(C實現)獲取結果DexClass

原创 Effective Java —— 枚舉篇 精華總結

JAVA推薦使用枚舉代替int 1 枚舉提供了類型安全檢測 2 枚舉隔離了使用的類和枚舉類型,使增加和重排無需重新編譯 3 本質上是單元素枚舉,final類型,不支持擴展(繼承),但是可以自由使用接口和方法。 4 便於理解,維護 5

原创 JAVA與Android 世界級序列化危機與應對方案

JAVA序列化危機 Apache Commons Collection 中的反序列化漏洞在 2016 年撼動了整個Java 生態系統,也影響到了 70 餘個其他的 Java 庫,甚至還讓 PayPal 的服務器遭受影響。 OWASP組織將

原创 Effective Java —— 併發篇 精華總結

同步訪問共享的可變數據 將可變數據限制在單個線程中 當多個線程共享可變數據,每個讀或者寫的線程都必須執行同步 如下例,去除同步鎖則會造成死循環 private static boolean stopRequested; private

原创 Android安全技術揭祕與防範——APK動態分析

代碼安全分析 1 四大權限組件權限和安全檢測,特別是廣播容易被惡意發送,可以採用應用內部廣播LocalBroadcastManager來規避2 存儲安全檢測,內存存儲不設置全局可讀可寫,不將隱私數據明文保存在外部存儲。3 通信安全,採用HT

原创 主流序列化協議優缺點對比和開發必備網站

主流序列化協議優缺點和網站推薦 JSON 優點 1 簡單易用開發成本低2 跨語言3 輕量級數據交換4 非冗長性(對比xml標籤簡單括號閉環) 缺點 1 體積大,影響高併發2 無版本檢查,自己做兼容3 片段的創建和驗證過程比一般的XML複雜4

原创 追蹤Android源碼演變——Activity啓動全流程

主要參考的源碼爲Android2.3與8.0,從薑餅到奧瑞奧,Activity的主要邏輯並沒有根本性的改變,更多是做了一些封裝和優化,下文會在版本變化中對相關變化的代碼進行對比和說明。Launcher發送start請求1 Launcher.