原创 爲了弄懂Retrofit源碼,我把Java從底層擼了一遍

事情是這樣的: 最近在研究Retrofit,相信讀過它源碼的朋友都知道,裏面涉及了大量的反射和註解的調用,尤其是在請求建立的時候 ,使用了Java的動態代理方法,Proxy.nexInstance,由於之前在反射應用這塊比較少,就本着打破

原创 輕量級Android事件派發框架——EventBus源碼全解析

Hello,All,我是來自58同城的一名Android開發工程師,在58集團從事Android SDK的開發工作。 關注我,即刻解鎖全部乾貨推文 PS:關注,私信我,幫你內推58,常年招聘前端,移動端,後端,算法。 也歡迎關注我的公衆號

原创 APP優化到底該咋辦?——談談ViewStub爲什麼能幫我們提高UI加載速度?

Hello,All,我是來自58同城的一名Android開發工程師,在58集團從事APP的開發工作。 歡迎爲本篇文章點贊,評論 PS:關注,私信我,幫你內推58,常年招聘前端,移動端,後端,算法。 也歡迎關注我的公衆號,在這裏可以找到我,

原创 OKHttp同步網絡請求原理分析(圖文並茂,看困包賠)

Hello,All,我是來自58同城的一名Android開發工程師,在58集團從事APP的開發工作。在日常的工作和學習過程中我經常會碰到一些好玩的和有意思的Android小知識點,有些知識可能都從未注意到過。通過一個多月的收集和整理,我發

原创 都這時候了,還不懂優化技術?——ViewStub爲什麼可以幫我們優化響應速度?

Hello,All,我是來自58同城的一名Android開發工程師,在58集團從事APP的開發工作。 歡迎爲本篇文章點贊,評論 PS:關注,私信我,幫你內推58,常年招聘前端,移動端,後端,算法。 也歡迎關注我的公衆號,在這裏可以找到我,

原创 來北京這幾個月的感悟——關於找對象

今天是週末,不談技術。 來北京已經有3個多月了,現在的基本狀態是工作日在公司上班,寫需求,提升技術,跟部門同事交流。週末的時候自己的時間相對多一些,收拾收拾屋子,洗洗衣服,有合適的女孩再互相見個面。 這些日子也加了不少的相親羣,但是給我的

原创 小記cookie

今天項目提測,暫時還沒有bug,來梳理一下cookie的知識,在58的賬號項目中,cookie使用並不多,但由於涉及票據和http數據交換的相關內容,還是學習一下吧 在HTTP協議的定義中,採用了一種機制來記錄客戶端和服務器端交互的信息,

原创 android進階學習

重要和未知的知識點記錄:(知識來自於 Android開發藝術探索) 當用戶打開新的Actvity或切換當前Activity到桌面的時候,回調如下:onPause->onStop。但是這裏有一種特殊情況就是如果新activity採用了透明主

原创 gradle調試環境搭建及IDE的選擇和使用

Gradle作爲安卓開發領域中版本構建的工具,隨着版本迭代和測試、打包的需求增長越來越多地發揮着重要的作用。但是搜遍了網上的鏈接。很少能夠有一篇博客完整地介紹如何在不使用AndroidStudio的情況下進行gradle的學習或者調試。

原创 記一次Android studio build錯誤

如果在Android studio Build Outputs看到:Program type already present:com.xx.xx,請檢查你項目中build.gradle中有沒有重複引用。在博客記錄下來,方便大家和下次自己使

原创 史上最易懂的觀察者和被觀察者模式——Java自帶Observer,Observable類講解

這幾天review公司的代碼,在查資料的過程中發現Java SDK中竟然自帶了Observer和Observable類,有點出乎我意料。下班之後帶着好奇的心態,使用了一下,竟然發現還挺好用。在這裏也寫一篇博客來記錄一下整個實踐過程。 爲了

原创 Flutter學習筆記之Dart重載運算符

重載運算符作爲Dart一個重要特徵,初學者可能很難理解,加之Flutter本身作爲一種全新的開發方式,網上的學習資料甚少。 筆者作爲一名安卓開發工程師在學習Dart的時候也遇到了重載運算符的問題,第一次看感覺很難理解。 其實翻看Dart語

原创 Android兼容——Activity、FragmentActivity和AppCompatActivity的區別

Activity Activity是最基礎的一個,是其它類的直接或間接父類。 Activity中只能使用系統自帶的host Fragment(API Level 11中加入),對應getFragmentManager方法來控制Activi

原创 AndroidManifest中的android:noHistory

當在activity中設置了該屬性後,當該activity爲不可見狀態時,系統會自動地將該activity做出棧操作。由此所帶來的效果就是: 如果activityB設置了該屬性值,activityA啓動activityB,activity

原创 AndroidManifest 標籤 中的 tools:replace

該標籤的作用是消除依賴庫中的屬性衝突 舉例說明: 如果我們的主項目中默認會定義了 android:theme="" ,當我們引入的第三方庫中也定義了這種標籤的時候,二者合併失敗就會出現此問題。 解決辦法是在 AndroidMainifes