原创 性能優化二十之數據傳輸效率優化-FlatBuffers

前言        數據傳輸效率優化對於很多人來說還是比較陌生的,我最近也正在學習相關的優化技術,在這裏集廣大網友的智慧來做一個總結。 問題引入:        爲什麼要對數據的傳輸進行優化,相信百分之99的安卓開發工程師都是用的

原创 Dagger2基礎與進階

前言        Dagger2依賴注入框架,爲了降低程序間的耦合度,防止產生牽一髮而動全身的問題。 除此之外,它同樣還有很多優點: 增加開發效率、省去重複的簡單體力勞動        首先new一個實例的過程是一個重複的簡單體

原创 Android完美加載大圖

1. 引子 前幾天跟服務端的一個妹子聯調接口,服務器配置一張圖片,幾十KB就行,她問我圖片從哪裏找,我告訴她先隨便在網上找個圖片鏈接就行了。結果一運行程序,就崩潰了,出現了下面的異常。 java.lang.OutofMemory

原创 性能優化十八之多線程優化-AsyncTask源碼分析

前言        做過安卓開發的沒有人不知道AsyncTask類,它是一個處理異步任務極爲強大的類,Andorid是個單線程模型的系統,但是爲了提高UI的流暢度,也支持多線程操作,但前提是更新UI的線程必須是主線程,在子線程中無

原创 性能優化十五之電量優化案例

前言      之前說了那麼的電量優化理論,到現在自己都沒有去做個小案例實踐一下,這次博客的內容是根據實際的使用環境想出的一個小案例,方便自己去理解,電量優化該怎麼用? 問題拋出:      爲了省電,有些工作可以放當手機插上電源

原创 性能優化十七之圖片壓縮優化

前言         Android開發中遇到最多的問題,遇到最多的問題,面試被問的最多的問題就是關於圖片的處理,防止內存溢出等。博客中也轉載了很多大牛寫的關於如何加載大圖的文章,寫的也很好,這裏不做過多介紹,這裏就簡單的談下如何

原创 RxBus

在講解RxBus之前先去解決幾個問題。 1、Rxbus的概念     乍一聽上去,Rxbus是一個庫,但是其實他並不是一個庫,而是一種思想,利用RxJava中的subject來實現了類似於 OTTO或者EventBus的功能 2、

原创 RxJava 2.0

前言 之前寫RxJava相關文章的時候,就有人想讓我談談RxJava2.0的新特性,說實話,一開始我是拒絕的。因爲在我看來,RxJava2.0雖然是版本的重大升級,但總歸還是RxJava,升級一個版本還能上天是咋的?瞭解一下它

原创 SmartGit 破解

前言 現在絕大部分公司都是通過git去做版本管理,極少的使用SVN,但是很多人對git命令很是頭痛,所以就衍生出了可視化的工具,例如下面要說的SmartGit,用過SmartGit的人都知道,這種軟件只有30天的免費試用期,過了3

原创 Recyclerview展開收起

前言       幾乎所有的app都會遇到列表的展開與收起功能,最近公司的產品也用了,相信大家都知道Recyclerview已經逐步替代了listview成爲主流,原因不僅僅是在於它的緩存機制,還在於它對於條目的數據更新設置了更多

原创 Looper、MessageQueue、Handler機制簡要分析

前言:        在Android開發中Handler、Message是非常常見的,常用於定時執行任務、主線程更新UI等操作。之前自己一直都是在停留在使用上,這次有空翻翻源碼自己瞭解下相關原理,對自己也會有一定的提高。    

原创 多線程之生產者與消費者模式

前言        生產者-消費者模式是一個經典的多線程設計模式,它爲多線程的協作提供了良好的解決方案。在生產者-消費者模式中,通常有兩類線程,即若干個生產者線程和若干個消費者線程。生產者線程負責提交用戶請求,消費者線程負責處理用

原创 Android調用系統相冊或拍照實現頭像更換

Android調用系統相冊或拍照實現頭像更換 更換頭像功能相信每個app,都會用到,這裏我也做下總結,記錄下。 我這裏是將代碼從項目中抽取出來,難免可能會涉及到mvp相關的名詞,諒解。 1、展示更改頭像選擇對話框: @Overri

原创 ViewDragHelper實現QQ側滑效果

前言        側滑的實現方式有很多方式來實現,這次總結的ViewDragHelper就是其中一種方式,ViewDragHelper是2013年穀歌I/O大會發布的新的控件,爲了解決界面控件拖拽問題。下面就是自己學習寫的一個實

原创 RSA加解密

前言         最近項目中需要利用RSA進行加解密,RSA是目前最流行的,也是最爲安全的一種加密方式,RSA利用公鑰和私鑰來作爲密鑰,可以私鑰加密公鑰解密,也可以私鑰解密公鑰加密。         坑點:         當