原创 Mac配置Adb環境變量

① 打開終端,輸入: cd Users/wuyanbao/Library/Android/sdk/ 進入sdk所在的目錄。 ② 輸入: ls -an 查看當前文件夾有是否有**.bash_profile**文件 ③ 如果文件已

原创 阿里的專家說不能,當我這麼做的時候竟然讓他羞紅了臉

點擊上方“IT爛筆頭”,選擇“置頂公衆號”第一時間獲取 IT 技術乾貨!閱讀文本大概需要 6 分鐘。1UI 線 程 的 定 義作爲一名機智的安卓開發者,似乎每個人心裏都有些公認的約定規則。不在非UI線程中更新UI一定是其中之一,你有沒有

原创 面向切面編程(AOP)在Android中的應用

看完本篇文章你將學到什麼?1.基本瞭解AOP的編程思想,以及如何在Android中使用AOP的思想  2.藉助AspectJ用AOP的思想實現埋點邏輯  3.藉助AspectJ用AOP的思想實現屏蔽快速點擊事件的處理什麼是AOP AOP

原创 強烈建議!讓你的團隊強制推行ConstraintLayout!

爲什麼推薦使用ConstraintLayoutConstraintLayout(約束佈局)在2016年的Google I/O大會上就推出來了,經歷這兩年的迭代,功能已經非常的成熟了。一次偶然的機會,在項目中嘗試了使用約束佈局,從此被它的

原创 5分鐘搞清楚equals和hashCode

本篇爲雖爲Java基礎知識,但並不是很多人真正的搞清楚了,所以值得您花5分鐘閱讀. == 和 equals的區別==被我們常用來比較基本數據類型的值,對於比較對象時我們一般是使用equals方法的,我們知道所有的類都是繼承自Object

原创 進階必備-Android Click事件是怎麼觸發的?

一、背景閱讀本篇文章前,假設你已經閱讀前一篇文章上一篇鏈接。  由於有同學問到onClick和touch事件的關係,這裏就從源碼的角度分析下onClick和onLongClick與onTouchEvent事件是怎麼關聯的。本文將通過Vi

原创 如何在低版本SDK調用高版本API?

隨着Android SDK版本不斷的迭代更新,在新的SDK上總是會出現讓人眼前一亮非常方便好用的API。但是這些新的API呢在低版本的SDK上是沒有的,所以當我們的minSdkVersion的版本低於新API所在的版本時,我們直接使用新

原创 3分鐘瞭解Java雙親委派機制

你得先知道在介紹雙親委派機制的時候,不得不提ClassLoader。說ClassLoader之前,我們得先了解下Java的基本知識。     Java是運行在Java的虛擬機(JVM)中的,但是它是怎麼就運行在JVM中了呢?我們在IDE

原创 哪些情況下的對象會被垃圾回收機制處理掉

Java的虛擬機本身是蠻複雜的,我們不仔細講細節。我們只針對我們平時最關心的堆中的哪些對象會被GC回收。我們這樣思考,既然GC要回收這塊內存,那總得有個方法讓GC可以判斷哪些對象時可以被回收而哪些是不能被回收的吧?這就引出了下面常見的兩

原创 簡單講下postInvalidate與invalidate的區別

invalidate 這裏我們從源碼中去簡單扒一下View的invalidate()的方法: 1    /** 2     * Invalidate the whole view. If the view is visible, 3

原创 熱修復框架?我們都能做出來!

本文爲《2018夯實基礎》系列之熱修復原理簡述  作者:Bob一、背景① 爲什麼會出現熱修復技術?大家都是開發,所以應該都知道有一個東西我們永遠也避免不了。不錯,Bug!我們在開發階段碰到bug那還好,直接解決就是了,大不了讓測試多測一

原创 ExoPlayer官方中文使用文檔

① 前言 在這之前筆者使用原生的MediaPlayer、B站開源的IJKVideoView等播放器。知道發現ExoPlayer,這款由YouTube開發的播放器真的是非常強大。對於自定義播放器非常友好,裏面講很多模塊抽象成獨立的組