原创 Android Camera 錄製視頻,可限制時長,限大小

在調用系統Video時,想控制錄製視頻的大小與時長,可以根據下面的案例試試: public static void recordVideo(Context context, int limit_time, int size) {

原创 設計模式1---單例模式(Singleton pattern)

單例模式Singleton 面試的時候,問到許多年輕的Android開發他所會的設計模式是什麼,基本上都會提到單例模式,但是對 單例模式也是一知半解,在Android開發中我們經常會運用單例模式,所以我們還是要更瞭解單例模式纔對。

原创 Camera2 API Video 錄像過程

在之前的文章已經詳細講解過關於Camera的Open整個過程,下面我們在來說說Video的過程: 還記得CameraDevice類嗎?CameraDevice的reateCaptureRequest(int templateTyp

原创 android Camera api1與api2 ZSL簡要說明

ZSL的概念 ZSL (zero shutter lag) 中文名稱爲零延時拍照,是爲了減少拍照延時,讓拍照&回顯瞬間完成的一種技術。 Single Shot 當開始預覽後,sensor 和 VFE 會產生 preview 和 s

原创 Android & Java 反射基本知識講解

反射的原理 反射大家用起來很方便,由於性能其實也比較不錯了,因此用得挺廣的,我們通常這麼用反射 Method method = XXX.class.getDeclaredMethod(xx,xx); method.invoke(t

原创 Android Camera ImageReader解讀與使用

在講解ImageReader之前,我們先看一段代碼 /** * 初始化圖片讀取器 */ private void initImageReader() { //創建圖片讀取器,參數爲分辨

原创 Android Context 詳細講解

拋出一個問題:Activity mActivity =new Activity() 成立嗎? 作爲Android開發者,不知道你有沒有思考過這個問題,Activity可以new嗎?Android的應用程序開發採用JAVA語言,A

原创 Android Camera 3A 模式和狀態轉換

雖然實際的 3A 算法取決於 HAL 實現,但高級狀態機的說明由 HAL 接口定義,以支持 HAL 設備和框架就 3A 的當前狀態進行通信並觸發 3A 事件。 當設備開啓時,所有單獨的 3A 狀態都必須爲 STATE_INACTI

原创 Android && Java 8種數據類型大小

Android 與 Java一樣,Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。 基本類型 大小 取值範圍 裝箱基本類型 int 4個字節 -2^31 ~ 2^

原创 設計模式2---建造者模式(Builder pattern)

建造者模式 定義:將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 類型:創建類模式 類圖: UML圖 四個要素 Builder: 抽象建造者 ConcreteBuilder: 具體建造者 Direct

原创 Android OpenGL 座標系理解

OpenGL 要求輸入的頂點座標都是標準化設備座標,即每個頂點的 x、y、z 都在 -1 到 1 之間,由標準化設備座標轉換爲屏幕座標的過程中會經歷變換多個座標系統,在這些特定的座標系中,一些操作和計算可以更加方便。 局部座標

原创 Android Camera2 CameraCharacteristics Key 詳細解說

一、簡介 CameraCharacteristics 是專門用來描述相機設備屬性的一個類,繼承自CameraMetadata類。給對給定的相機,它裏面所包含的屬性都是 固定的 ,也就是我們說的靜態metadata. 包括:曝光補償

原创 Camera2 API 之 SurfaceView、TextureView、CameraManager、CameraDevice詳解

從5.0開始(API Level 21),可以完全控制安卓設備相機的新api Camera2(android.hardware.Camera2)被引入了進來。在以前的Camera api(android.hardware.Came

原创 Android Camera2 相機拍照流程詳解

實現特點 實現自動對焦 選擇性正常觸發閃光燈flash 複用CaptureRequest.Builder, 參數完全一致 拍照注意事項講解 代碼片段詳解 流程 按照常規方式打開預覽 設置好相應的全局變量: CameraDev

原创 Android Camera2 資源釋放導致的內存泄露

先來一段代碼看看: @Override protected void onDestroy() { super.onDestroy(); if (mCaptureRequest != nul