原创 Java多線程——線程池的基本使用

線程池 本篇基於JDK1.8。 一 爲什麼需要線程池? 直接創建線程的缺點: 每次通過new Thread()創建對象性能不佳。 可能會無限制的創建新的線程,造成系統資源匱乏,嚴重可能導致OOM。 缺乏管理性,沒有一個統一的東

原创 Android完全自定義下劃線的TabLayout

一 介紹: 導航功能幾乎是所有的APP都具備的基礎功能之一,Android系統提供了TabLayout+ViewPager的組合來實現該功能。再使用之初,發現該組合真是無敵了,但是。。。總有一些UI設計師覺得原生TabLayout

原创 Android Handler消息機制源碼全量解析

Handler消息機制源碼解析 Android版本: 基於API源碼26,Android版本8.0。 本片文章的目的在於全面的瞭解Handler。它是如何傳遞消息的?是如何阻塞和喚醒線程的(僅限於Java層面)?MessageQu

原创 Android自定義滑動刻度尺

一 基礎: 自定義View實現跟隨手指滾動的刻度尺,實現了類似SeekBar的滑動選中效果。項目地址,歡迎star! UI圖: 功能: 通過設置最小值跟最大值的範圍,以及offset值。View將根據這些數據去計算出需要幾個小刻度和

原创 Android面試之Activity生命週期詳解

Activity生命週期詳解 一 Activity的四種狀態: Activity的生命週期中存在四種基本的狀態:活動狀態(Active/Runing),暫停狀態(Paused),停止狀態(Stopped),銷燬狀態(Killed)。每

原创 Android屏幕適配前先了解這些

前言:之前很火的屏幕適配方案不知道大家都去嘗試過寫進項目中沒,應該有一部分人在隔岸觀火,大概的原因就是目前並沒有遇到能把項目重構的適配問題,另一方面就是有的適配方案還沒有很成熟的應用,都不想拿自己的項目去測試。就拿那些github開源

原创 Java註解解析-搭建自己的註解處理器(CLASS註解使用篇)

寫在前面 該文章是繼Java註解解析-基礎+運行時註解(RUNTIME)之後,使用註解處理器處理CLASS註解的文章。通過完整的Demo例子介紹整個註解處理器的搭建流程以及注意事項,你將知道如何去搭建自己的註解處理器。前提是你知

原创 Android RecyclerView-使用Itemdecoration實現粘性頭部功能,詳細到具體步驟.

一 前言 該文詳細的介紹了RecyclerView.ItemDecoration實現分組粘性頭部的功能,讓我們自己生產代碼,告別代碼搬運工的時代.另外文末附有完整Demo的連接.看下效果: 二 知識準備 RecyclerView.Ite

原创 Java註解解析-運行時註解詳解(RUNTIME)

一 註解的定義 註解(Annotation),也叫元數據。一種代碼級別的說明。它是JDK1.5及以後版本引入的一個特性,與類、接口、枚舉是在同一個層次。它可以聲明在包、類、字段、方法、局部變量、方法參數等的前面,用來對這些元素進行說明 。

原创 Android 淺談scrollTo和scrollBy源碼

一.寫在前面 在View的幾種移動方法中我相信Scorller+scrollTo或者scrollBy是大家比較接受.我們再使用的時候總是會碰到一些奇怪的問題,可以得出以下幾點: scrollTo和scrollBy只是移動自己的內容.

原创 Java多線程-死鎖的出現和解決

Java多線程-死鎖 什麼是死鎖? 死鎖是這樣一種情形:多個線程同時被阻塞,它們中的一個或者全部都在等待某個資源被釋放.由於線程被無限期地阻塞,因此程序不能正常運行.形象的說就是:一個寶藏需要兩把鑰匙來打開,同時間正好來了兩個人,

原创 Java多線程-五中線程池分析以及AnsyncTask源碼分析

這是小編個人的學習總結,還望各位大神多多吐槽~ 一.前言 線程是我們處理耗時操作的利器但是每個線程的創建和銷燬都需要一定的開銷。只是偶爾的使用線程去做一些操作的時候還是可以直接new的,如果需要大量的線程去做一些操作的時候我們就要慎重

原创 Android側滑-RecyclerView輕鬆實現高效的側滑菜單

一 前言 利用系統類ItemTouchHelper實現簡單高效的RecyclerView側滑菜單! 仿qq的側滑,跟隨滑動… 簡單的側滑點擊刪除,覆蓋滑動… 二 知識準備 ItemTouchHelper是Android系統提供的一個幫

原创 Java多線程-帶你認識Java內存模型,內存分區,從原理剖析Volatile關鍵字

寫在前面(語句修改版) 讀完本篇文章你將知道: Java的內存模型。 Java的內存分區。 全局變量、局部變量、對象、實例再內存中的位置。 JVM重排序機制。 JVM的原子性、可見性、有序性。 徹底瞭解Volatile關鍵字。 一.

原创 Java多線程-完成Android開發中的某些需求

https://juejin.im/post/59e45fd051882578e1405ddc