原创 OkHttp中的Socket連接

JavaHTTP請求底層分析 看完這篇博客,感覺網絡請求框架都可以擼一個。 OSI網絡模型 TCP/IP模型 物理層 數據鏈路層 網絡連接層 網絡層 網際層 傳輸層 傳輸層 會話

原创 TabLayout的使用及使用中的問題總結

改變Tab字體顏色設置默認字體顏色: app:tabTextColor="#ffffff" 設置字體被選中後的顏色 app:tabSelectedTextColor="#e40707"  設置指示器顏色 app:tabIndicat

原创 ffmpeg C代碼實現 PCM音頻編碼

應用到的API及解釋 avcodec_register_all:註冊FFmpeg所有編解碼器。 avformat_alloc_output_context2():初始化輸出碼流的AVFormatContext。 avio_

原创 ffmpeg 音視頻同步實現

先來張圖鎮樓: 上面圖片中的網址:https://www.cnblogs.com/leisure_chn/p/10584910.html 在用圖片展示下線程模型: 在開始之前有個初始化的操作:定義爲initPlayer 主要是

原创 Android中gradle的配置

Android中gradle的配置gradle文件的創建在config.gradle中創建變量在項目中使用config.gradle中的變量首先在根目錄的build.gradle中引入config.gradle文件在自己項目或者L

原创 Retrofit的一次請求源碼分析

Retrofit是如何完成一次Http請求的: public interface ApiService { @FormUrlEncoded @POST(Api.COMMON_LOGIN) Call<Base

原创 Android 開發高手課Chapter01課後練習

1.clone chapter01 https://github.com/AndroidAdvanceWithGeektime/Chapter01 2.打包運行這個項目(如果項目無法運行可能是項目沒有配置NDK,先配置NDK) 3.點擊裏

原创 Flutter中常用的列表組件

如果想去掉widget默認的padding,需要用MediaQuery.removePadding包裹 MediaQuery.removePadding(context: context, removeTop: true,

原创 Flutter中的Widget

在Flutter中給Widget中添加padding,可以使用Padding或者Container Padding( padding: EdgeInsets.fromLTRB(7, 4, 7, 4), child: Loc

原创 併發編程之Future設計模式 (未來設計模式)

通過子線程完成任務,調用之後直接返回,主線程繼續下面的任務,等到子線程完成任務進行回調通知。 Future 用來代表未來的一個憑據 FutureTask 執行的任務邏輯 FutureService 橋接 Future和Fu

原创 併發編程之ThreadLocal

線程安全保險箱 ThreadLocal(現在ThreadLocal用的Map保存數據(ThreadLocalMap),在以前版本用的是一個數組去保存,一個保存key,後一個保存value,現在改變了存儲方式) 它是線程的局部變量,

原创 併發編程之Two-Phase Termination design pattern (二階段終結線程)

程序分爲兩部分,一部分是功能操作,一部分爲結束操作(釋放資源)。 Two-phase Termination直譯的話是“兩相終止”,不過就這個模式而言,該譯作“兩階段終止”比較適當,想像您有一個執行程序正在週期性的運作,在“運作階

原创 併發編程之Guarded Suspension模式

1、Guarded Suspension意爲暫停保護,其核心思想是僅當服務進程準備好時,才提供服務。設想一種場景,服務器可能會在很短時間內承受大量的客戶端請求,客戶端請求的數量可能超過服務器本身的即時處理能力,而服務端程序又不能丟

原创 併發編程之worker-thread design pattern

基本內容是:有一個流水線(channel),流水線一端有客戶線程client,另一端有工人線程worker,客戶不斷把新的任務(request)放入流水線,工人在另一頭獲得任務,並執行,客戶和工人的數量可多可少,就這麼簡單 這個所

原创 併發編程之Balking design pattern

一個線程要去執行某個操作。但是,在發現這個操作已經被別的線程做了,於是,就沒有必要再去做這樣的一個操作了。面對這種問題的設計方案是多線程設計模式中的Balking模式。 Balking是“退縮不前”的意思。Balking Patt