ANR的定義 系統(tǒng)通過交互組件和用戶交互進行超時監(jiān)控,主要用來判斷應用進程是否存在卡死或者響應過慢的問題。 導致ANR的原因 應用層導致ANR: 函數阻塞:死循環(huán),主線程IO...
ANR的定義 系統(tǒng)通過交互組件和用戶交互進行超時監(jiān)控,主要用來判斷應用進程是否存在卡死或者響應過慢的問題。 導致ANR的原因 應用層導致ANR: 函數阻塞:死循環(huán),主線程IO...
OpenGL概述 OpenGL(Open Graphics Library)是一個跨平臺的、語言無關的應用程序編程接口(API),用于開發(fā)生成二維和三維圖像的應用程序。這個A...
H.264編碼詳解 H.264即AVC(Advanced Video Coding),在下文中首先說明H.264編碼的碼流結構,然后會進一步深入說明H.264編碼的方法和原理...
Kotlin源碼結構分布位置: 協程源碼結構協程源碼按道理可以分成兩個倉庫,一個是Kotlin倉庫,一個是Kotlin協程倉庫。Kotlin倉庫 https://github...
打包打開大概概括為幾步: 通過aapt打包res資源文件,生成R.java,resource.ars和res文件,resources.arsc保存的是一個資源索引表,可以理解...
熱更新和插件化 插件化的內容是原來apk沒有的東西,熱更新是在原來的基礎做改動。 插件化在代碼中有固定的入口,熱更新可能改變任意位置的代碼。 熱更新的原理 虛擬機在加載cla...
1.初始化加入依賴:com.squareup.leakcanary:leakcanary-android他初始化是內部定義了一個ContentProvider然后再Conte...
Binder的定義 從機制和模型角度來說,Binder是一種Android中實現跨進程通信的Binder機制模型。 從模型的結果和組成來說,Binder是一種虛擬的物理設備驅...
Gilde三大主線 Gilde.with(this).load("url").into(iv_image) 使用來很簡單,但是源碼卻是異常龐大,所以這次只挑一些重點的去看。 ...
SDP結構要先熟悉一下 SDP type=value的格式而且對大小敏感,會話級別是從v=開始的,字段必須是(REQUIRED)有的字段是可選字段 。這樣可以增加錯誤檢測能力...
Okhttp的大體流程 通過創(chuàng)建OKhttpClient創(chuàng)建一個Call,發(fā)起同步或者異步請求。 Dispatcher對創(chuàng)建的RealCall(Call具體實現類)進行統(tǒng)一管...
WebRTC我編譯的97版本的webrtc_android,這里我就以Android視角從視頻采集,渲染,編碼,發(fā)送四個流程來答題說一下WebRtc的視頻推流過程, 采集 A...
在說Retrofit之前 必須有了解動態(tài)代理,因為Retrofit的核心就是動態(tài)代理。 動態(tài)代理 動態(tài)代理就是在運行時動態(tài)創(chuàng)建某個interface的實例,通過Proxy.n...
在回聲消除中webrtc的97版本 aec3應該是最好的,這里說一下單獨拿出aec做測試的記錄。 配置開發(fā)環(huán)境使用過FFmpeg和Opnecv的sdk類似,把webrtc的庫...
WebRTC jitterbuff 緩存機制 webrtc在弱網環(huán)境下或者網絡不穩(wěn)定的情況會出現網絡抖動導致數據傳輸問題,webrct加入了jitterbuff 進行保證網絡...
下載MNN開源框架 git clone https://github.com/alibaba/MNN.git[https://github.com/alibaba/MNN.g...
在https://central.sonatype.com[https://central.sonatype.com]注冊 賬號 建議用github直接登錄,因為在創(chuàng)建nam...
Gradle中,沒有Assemble任務 1. 在編譯aar包或者編譯module的時候,沒有release包,我們一般都是通過assemble進行編譯。 如果在Gradle...