原创 小白學習後端開發之Spring框架註解大全(一)

一、Spring 初次嘗試 1、通過xml形式配置IOC容器Bean 在Project下面找到一個resources 文件夾創建一個beans.xml (xml的文件名隨意)。如下,把你需要加載的bean 插入到bean節點下面。

原创 完全搞懂CoordinatorLayout Behavior 你能做些什麼

完全搞懂CoordinatorLayout Behavior 你能做些什麼 完全搞懂CoordinatorLayout Behavior 系列之API講解 完全搞懂CoordinatorLayout Behavior之源碼學習 完

原创 View事件分發機制,看完這些你一定能懂

當一個點擊事件發生時,事件的傳遞順序是從Activity -> PhoneWindow -> DecorView(當前界面的容器,setContentView最終得到的佈局就是添加到DecorView),然後事件就傳遞給setCo

原创 詳解Rxjava原理,其實沒有那麼難

一、基礎知識 RxJavaPlugins.onAssembly(new SingleJust<T>(item)); 這個方法的作用設什麼呢,其實它的作用就是一個轉換作用。使用的hook技術,這裏原理比較難懂 暫時理解成會轉換成 n

原创 數據結構必須要懂的類型之二叉排序樹

1、什麼是二叉排序樹 二叉排序樹 又叫(排序樹 搜索數)他是一個一棵空樹,或者是一棵具有如下性質的樹: 1)若左子樹不爲空,那麼左子樹上面的所有節點的關鍵字值都比根節點的關鍵字值小 2)若右子樹不爲空,那麼右子樹上面的所有節點的

原创 BadgeView 給控件設置未讀消息紅點

最近做設置未讀消息紅點時,感覺TextView顯示一個shape背景 時候,文字信息不在圓的正中心,所以自己寫了一個可控的BadgeView。之所以說可控是因爲代碼是自己寫的,以後需要什麼樣的就直接自定義。 if (number

原创 性能優化01 - 圖片壓縮 (NDK 哈夫曼算法壓縮)

libjpeg-turbo | Main / libjpeg-turbo libjpeg編譯文檔 libjpeg-turbo/BUILDING· GitHub Mac環境編譯 libjpeg壓縮庫 cmake version 3.

原创 NDK 與 FFmpeg相關問題

1、ffmpeg 播放音視頻代碼流程 第一步 、 解封裝 1、avformat_alloc_context初始化一個AVFormatContext 結構體 2、avformat_open_input(&avFormatContex

原创 FFmpeg音頻解碼邏輯詳解

這篇博客主要任務是講封裝格式的音頻文件解碼成pcm數據,然後使用ffplay播放, 其中ffplay 一定要配置環境變量否則不能播放 一、 解封裝 解封裝主要任務就是把mp3 等封裝格式的文件,解析到FFmpeg對應的結構體中

原创 完全搞懂CoordinatorLayout Behavior之源碼解析

完全搞懂CoordinatorLayout Behavior 你能做些什麼 完全搞懂CoordinatorLayout Behavior 系列之API講解 完全搞懂CoordinatorLayout Behavior之源碼學習 完

原创 數據結構之AVL樹(平衡二叉樹)

什麼叫AVL樹 平衡二叉樹? 說到這個問題我們先說說二叉排序樹 它也叫二叉搜索樹,它解決數組和鏈表集合遍歷和插入所有優勢。但是假如我們是一個這樣的樹你覺得它的效率還會很高嗎? 如上圖中 這樣一棵搜索它的效率顯然不高,因爲除了7

原创 Jetpack相關係列 - Lifecycle使用和源碼解讀

這是今天在使用Lifecycle 時因爲好奇,所以看了一下源碼, 初次閱讀,可能理解的不夠深,講的不夠好請大家踊躍批評謝謝。 初級使用簡單介紹 Lifecycle 是google爲我們提供的一個專門用來監聽Activity或者

原创 Android面試框架源碼-EventBus源碼初探

EventBus.getDefault().register(this) public void register(Object subscriber) { Class<?> subscriberClass = sub

原创 閱讀java1.8 HashMap源碼必須要懂的數據結構之紅黑樹

前面一章我們聊到了平衡二叉樹,它是一種搜索效率極高的樹, 但是它有一個缺點就是建樹成本、 插入節點以及刪除節點都需要進行 左平衡和右平衡旋轉,需要消耗大量的計算資源。所以引進了紅黑樹,它相對平衡二叉樹,犧牲了一小部分的搜索效率,但

原创 ListPopupWindow如何設置顯示位置

ListPopupWindow 其實跟PopupWindow 顯示效果相同的,只不過他是一個寫好的ListView不需要重新寫佈局,只不過API跟PopupWindow 還是有點區別,本來想設置window顯示位置,但是並沒有找到