原创 創建型設計模式之--單例模式

單例模式(Singleton Pattern)是 Java 中最簡單的設計模式之一。這種類型的設計模式屬於創建型模式,它提供了一種創建對象的最佳方式。 這種模式涉及到一個單一的類,該類負責創建自己的對象,同時確保只有單個對象被創建。這個類

原创 創建型設計模式之--建造者模式

建造者模式也被稱爲生成器模式,它是創建一個複雜對象的創建型模式,其將構建複雜對象的過程和它的部件解耦,使得構建過程和部件的表示分離開來。 我們接着用工廠模式中的果園舉例,我們的水果店爲了吸引老顧客、以及新顧客辦理會員,推出了各式各樣的促銷

原创 創建型設計模式之--簡單工廠、工廠方法、抽象工廠模式

我們舉一個摘水果的例子,果園中種着蘋果樹、香蕉樹、桔子樹等等果樹,當有三個小夥伴想要喫蘋果時,他們就需要各自去拿各自想要喫的水果,我們最原始樸素的寫法如下,誰需要誰就自己去拿就好了: /** * 不使用設計模式:最原始的想法,哪裏用

原创 Android Studio 3.60 代碼、控制檯、Build、Gradle、狀態欄輸出出現中文亂碼的問題

步驟一:文件編碼統一: 打開設置>Editor> File Encodings,將三個都都改爲utf-8:   步驟二:字體統一 打開設置,然後搜索“font”,將Appearance、Font、Color Scheme Font均改爲

原创 性能優化專題十一--高效使用Bitmaps使用AsyncTask解碼圖片

 高效使用Bitmaps有什麼好處? 我們常常提到的“Android程序優化”,通常指的是性能和內存的優化,即:更快的響應速度,更低的內存佔用。Android程序的性能和內存問題,大部分都和圖片緊密相關,而圖片的加載在很多情況下很用到Bi

原创 性能優化專題十三--BlockCanary簡析

Looper 提供的機制 先看看我們熟悉的 Looper 的源碼,裏面實現的功能就是不斷地從 MessageQueue 裏面取出 Message 對象,並加以執行。 for (;;) { Message msg = queue.

原创 性能優化專題十二--LeakCanary簡析

簡介 LeakCanary是一款開源的內存泄漏檢查工具,在項目中,可以使用它來檢測Activity是否能夠被GC及時回收。github的地址爲https://github.com/square/leakcanary LeakCanary的

原创 Android studio同一個目錄下創建多個Android工程

 步驟一:選擇新建一個module 步驟二: new module選擇phone,就是一個Android工程了  一直下一步,創建完成後就看到這個工程目錄下面有兩個Android工程了

原创 Android畫正N邊形戰力圖

總體實現的目標如下: 我們要實現一個戰鬥力的網狀圖,可以隨意改變網狀圖的邊數,從外面傳入邊數後可以自動調節各個屬性值,圖示爲正4、7、8、13邊形的戰力圖表。 根據圖中顯示,整體實現步驟大致可以分爲4步: 步驟一:首先是畫正N邊形 步驟二

原创 屬性動畫實戰

實戰一:翻轉動畫  自定義view: package com.test.animation.view; import android.content.Context; import android.graphics.Camera;

原创 自定義View基礎實戰--刻度圓盤、餅狀體、兩個圖形疊加

本篇實戰內容主要圍繞draw、paint、path等常用API展開,爲達到熟練使用目的,對一些基礎常見的view效果進行實現。 實戰view一:圓盤刻度 相關知識點: 使用PathDashPathEffect畫圓弧上的刻度,PathM

原创 屬性動畫基礎概念

屬性動畫一些基礎概念: ViewPropertyAnimator 使⽤用 View.animate() 創建對象,以及使⽤用 ViewPropertyAnimator.translationX() 等⽅方法來設置動畫; 可以連續調⽤用來設

原创 Android intent URI跳轉以及參數拼接

Android啓動一個界面,可以通過顯示和隱式兩種方式。 (一)activity的跳轉方式小結 地址:https://github.com/buder-cp/base_component_learn/tree/master/URIJump

原创 自定義View基礎實戰--文字居中、圖文混排

實戰view四:文字居中 當我們在使用canvas.drawText時,它的參數有文字偏移的座標設置,要設置好偏移座標需要理解text文字繪製的幾條baseline的線,如果不設置則,文字會稍稍偏上,如左圖,設置好偏移後效果如右圖相關參考

原创 Android自定義LayoutManger-仿寫抖音主界面

看下項目整體實現效果,上下翻頁時完成視頻切換: 視頻的切換這裏我們使用RecyclerView進行實現,核心是需要自定義LayoutManager;視頻播放我們使用VideoView控件。 在MyLayoutManager加載成功後,我