原创 Android基礎 -- Android HandlerThread

1.簡介 AndroidThread是一個Android已經封裝好的輕量級異步類,用來方便開發者更快的實現多線程、異步通信、消息傳遞等。   2.使用步驟 // 步驟1:創建HandlerThread實例對象 // 傳入參數 = 線程名

原创 Android基礎 -- Android IntentService

一、什麼是IntentService?有什麼作用? IntentService是Android裏的一個封裝類,繼承了四大組件之一的Service,一般用來處理異步請求或者實現多線程   二、使用場景 IntentService用來執行線程

原创 Android基礎 -- Android線程池的使用

小夥伴們對於Thread、Runnable、Handler、AyscTask應該十分熟悉,並且藉助它們完成了一個個炫酷的功能,那麼關於線程池的瞭解呢?這邊文章就和小夥伴一起來看看關於線程池的這些事 1.什麼是線程池 線程池是1塊緩存了一定

原创 Android基礎 -- Android ContentProvider

作爲同屬Android四大組件之一的ContentProvider,出場頻率似乎沒有Activity、Service、Broadcast高,但是同樣有着很重要的應用場景,下面和小夥伴們一起看看有關於ContentProvider的這些事。

原创 Android進階 -- postDelay原理解析

在日常開發中,需要延時任務的時候,往往會用到handler.postDelay()的方法,那麼一起來看看它的內部實現原理吧。 //Handler.java public final boolean postDelayed(Runnabl

原创 Android進階 -- 知乎Matisse源碼解析(四)

本篇博客一起來看Matisse的數據加載機制。 一、AlbumLoader Matisse採用Loader機制進行加載,先來看AlbumLoader。AlbumLoader集成自CursorLoader,作爲資源加載器,加載好資源之後,通

原创 Android開源項目 -- 展開收起TextView

一、項目簡介 項目地址:https://github.com/zhangtiansimple/FoldTextView 效果圖:    二、技術選型 本項目採用LinearLayout與TextView實現,根據開發者設置的最大行數,計

原创 Android基礎 -- Android多線程

多線程在Android開發過程中非常常見,同時又知識點繁多,Thread、Runnable、Handler、AsyncTask、HandlerThread、IntentService、線程池這些相信小夥伴們都耳熟能詳,這邊文章將和小夥伴們

原创 Android基礎 -- Android Service

Service在Android開發的過程中,相信小夥伴們都沒有少與它互動,如此重要的組件,現在來一起在看看它吧   一、什麼是Service? Service是Android的四大組件之一,屬於計算型的組件,它提供在後臺需要上時間運行的服

原创 Android進階 -- 避免創建不必要的對象

在內存調優的過程中,如何避免創建不必要的對象,一直是很重要的一個方面,下面來一起看看常用的避免創建對象的方法。 1.字符串的拼接 public static String buildString(String[] values) {

原创 Android佈局 -- Navigation實現底部導航欄

底部導航欄加頁卡的切換,很多App採用這種佈局設計,在以前的開發中,需要自定義底部導航欄以及使用FragmentTransaction來管理Fragment的切換,代碼量較大,而使用Navigation後,系統框架爲我們做了任務管理,大大

原创 Android基礎 -- SurfaceView

一、什麼是SurfaceView 普通的View是通過Android系統發出的VSYNC信息來進行屏幕的繪製,但是在一些需要頻繁刷新的場景,如直播、遊戲等,如果執行了很多操作,就會導致繪製間隔超時,也就是用戶感知的卡頓,SurfaceVi

原创 Android基礎 -- View的滑動

滑動在日常開發中的出現頻率可以說是非常的高,幾乎大多數應用都離不開滑動這個功能。 Android的滑動主要實現方法有三種 通過View本身提供的scrollTo/scrollBy方法 通過動畫 通過改變View的LayoutParams使

原创 Android基礎 -- Jetpack組件的使用

關於ViewModel、LiveData、DataBinding、LifeCycle、Paging和Room的使用,做了一期一個多小時的視頻,不相關的基礎代碼都是在視頻外寫好,視頻時間裏會讓小夥伴們以最快的速度瞭解Jetpack相關組件的

原创 Android基礎 -- 貝塞爾曲線

一、簡介 關於貝塞爾曲線(百度百科)的定義,很多博客都有着詳細的介紹,本篇博客來關注具體的實現過程。 首先來看2階、3階貝塞爾曲線的效果圖 接下來,看具體的實現過程。 項目地址:https://github.com/zhangtians