原创 面試必備】深入分析App卡頓原因及優化建議

從這篇文章中你能獲得這些料: 知道setContentView()之後發生了什麼? 知道Android究竟是如何在屏幕上顯示我們期望的畫面的? 對Android的視圖架構有整體把握。 學會從根源處分析畫面卡頓的原因。 掌握如何編寫一個流暢

原创 30秒上手新一代Http請求神器RxHttp

開胃菜話不多說,30s倒計時開始,先來看看如何發送一個Get請求,如下: RxHttp.get("http://...") //第一步,確定請求類型,這裏爲Get請求 .asString()

原创 Android之HashMap講解

前言 HashMap是面試中比較常見的問題,這一篇,我們將通過閱讀源碼,瞭解其設計原理以及以下問題 HashMap的實現原理 初始容量爲什麼是2的倍數 如何resize 是否線程安全 常用參數 //最大容量 2的30次方

原创 Android高級開發-佈局渲染流程與優化

擴展知識CPU(中央處理器)與GPU(圖像處理器)主要是設計目標不同,針對不同的應用場景。多緩存多分支,適用於複雜的邏輯運算,主要負責Measure,Layout,Record,Execute的計算操作。CPU擅長邏輯控制和通用類型數據運算

原创 使用LiveDataBus進行組件通信,讓你永無後顧之憂

背景 對於Android系統來說,消息傳遞是最基本的組件,每一個App內的不同頁面,不同組件都在進行消息傳遞。消息傳遞既可以用於Android四大組件之間的通信,也可用於異步線程和主線程之間的通信。對於Android開發者來說,經常使用的消

原创 MVP模式實戰(音樂APP-Android-Kotlin)

1. What is that? MVP是一種設計模式(框架),因爲其出色的解耦功能廣泛地用於Android工程中,它將應用程序分爲Model-View-Presenter,各司其職,簡稱MVP Model(模型) 負責對數據的處理和存儲

原创 OpenCv + ffmpeg + rtmp 實現攝像頭採集數據直播功能

採用OpenCv獲取圖像數據,通過ffmpeg推流給rtmp服務器 OpenCV獲取的圖像數據爲BGR格式,需要轉換成YUV格式,再將其編碼爲h264格式,通過ffmpeg推流 ps:ffmpeg版本是2.8 頭文件 extern "C"

原创 Android ViewPager實現循環輪播圖

一、原理 ViewPager是Android中使用頻率相對較高的view組件,同時對滑動過程中的事件進行了處理,因此非常適合輪播圖。關於輪播圖的實現,有很多方法,使用HorizontalView或者RecylerView也可以實現,但是需要

原创 Android 屏幕刷新機制

這次就來梳理一下 Android 的屏幕刷新機制,把我這段時間因爲研究動畫而梳理出來的一些關於屏幕刷新方面的知識點分享出來,能力有限,有錯的地方還望指點一下。另外,內容有點多,畢竟要講清楚不容易,所以慢慢看哈 提問環節 閱讀源碼還是得帶

原创 flutter 中的From表單

通用方法做過前端的都應該提交過表單,以文本輸入爲例flutter中提供了通用的TextField組件 TextField( decoration: InputDecoration(labelText: '產品名稱'),

原创 在Android中集成flutter

flutter可能是未來跨平臺開發的又一技術框架,那麼對於一個app,我們不可能完全用flutter來開發,那麼就意味着我們需要在已有的Android代碼中去集成flutter。目前這一技術還處於預覽狀態,並且還要切換flutter的cha

原创 每天輕輕鬆鬆爲你省時,Gradle提速優化

前言作爲一名 Android 開發同學,當你的工程和代碼達到一定規模的時候,相信你一定遇到過編譯速度過慢的問題。 等待編譯的時間,彷彿過了一個世紀,有沒有!對於程序猿,時間尤其寶貴,當你修改完一個 BUG 或者想驗證一個功能時,卻因爲編譯速

原创 Android調試神器stetho使用詳解和改造

概述 stetho是Facebook開源的一個Android調試工具,開發者可以使用chrome的inspect功能,對Android應用進行調試和查看。 stetho提供的功能主要有: Network Inspection:網絡抓

原创 在 Android 中使用 JNI 的總結

最近在研究 Android 相機相關的東西,因爲想要對相機做一個封裝,於是想到要提供支持濾鏡和圖像動態識別相關的接口。在我找到一些資料中,它們的實現:一個是基於 OpenGL 的,一個是基於 OpenCV 的。兩者都可以直接使用 Java

原创 Android 熱修復原理(主要談代碼修復)

Android開發中,熱修復技術被越來越多的開發者使用,市面上也出現很多成熟的開源框架。但對大部分開發者來說,熱修復依然是一個既熟悉又陌生的詞。僅僅知道熱修復的作用,會使用框架,那樣意義並不大。我們還要知道熱修復的原理,這樣不管框架如何變化