原创 RxJava優化之幹掉殭屍線程

背景 最近在做Android應用線程優化,其中有一個核心指標就是收斂進程中的線程數,這是一段很長的故事,本文只是關於RxJava的一個方面的優化,其中有些坑值得每位使用RxJava的筒子注意。背景是這樣的,我們APP在進入之後,通過一些正常

原创 聊聊HTTP連接的那些事-讀權威HTTP筆記

本文多圖,流量打開需謹慎! HTTP協議作爲我們平時開發過程中使用最爲廣泛的網絡協議,相信大家至少對它都有簡單的瞭解,它也是很多互聯網公司平時面試時經常問的點,比如各種HTTP方法、狀態碼字、持久連接等。今天我們就來聊聊HTTP協議在客戶

原创 Android SDK Search,Androider值得擁有

作爲一名Android開發同學,如果要查閱相關的API文檔和瀏覽源碼大家一般會怎麼做呢?這裏推薦一個小工具: 它是一個Chrome插件,添加之後,可以提供Android SDK 搜索,源碼閱讀的功能。 插件開源在Github上面:http

原创 一篇文章理解Android 視圖樹的測量過程

好久沒有寫文章了,最近公司社招窗口重新打開了,又忙着面試,在面試過程中發現自己已經有些不知道問候選人什麼問題了...大寫的尷尬。特別是現在很多同學準(各)備(種)充(背)分(書),通常我剛問請你描述一下Android中View的測量過程,候

原创 關於RxJava可能被忽略的X個知識點

一 操作符之痛 在RxJava中,我們使用最爽的莫過於對一個事件流使用各種操作符,使其按照我們的指令執行各種操作,讀過源碼的同學對lift比較熟悉,它是大部分操作符實現的基礎,但是一個lift操作可能會產生多個多餘的對象。我們以最簡單的M

原创 從雙重校驗單例完全理解Java指令重排

指令重排你有聽說過嗎?我相信對於大部分Java程序員來說這個詞都不陌生,很多人第一次接觸到這個概念都是通過經典的雙重校驗單例來了解的,但是網上很對多關於重排序講解通常過於混亂,既摻和了Java內存模型,同時又摻和了操作系統和硬件架構,看完之

原创 如何優雅地將你的APK安裝包減少20%

一、寫在前面 如何精簡Android市場安裝包(APK)體積大小一直是Android開發者比較關注的點,因爲它對應着用戶升級等待時間和流量消耗,我們在網絡上可以搜索到很多資料,比如: 如何將 APK 大小減少 6M 的 Android

原创 Android網絡庫之Okio源碼分析

今天來扒一扒Square公司的IO流的庫Okio,現在越來越多Android項目都在使用Square公司的網絡開源全家桶,即 Okio + OkHttp + Retrofit。這三個庫的層級是從下網上來看,Okio用來處理IO流,OkHtt

原创 少年,你可能對RxJava的Zip操作有些誤會

閱讀時間 ~ 5min 項目中有這樣一個場景,資訊詳情頁展示需要發送兩個網絡請求,一個獲取資訊信息,一個獲取評論信息,只有兩部分內容都請求都完成,才能進行頁面的展示,這是一個非常常見的業務場景,我們直接使用了RxJava的Zip操作符

原创 Java中的鎖原理

閱讀時間 > 20min 最近在複習Java併發相關內容,突然發現日記本躺了一篇一年前寫好的文章,估計是寫完,忘了點發布了,😂 隨着集成電路越來越發達,多計算核心的機器大行其道,爲了解決多個並行執行分支對某一塊資源的同步訪問,操作系