原创 Camera Metadata原理

文章目錄概述相關文件路徑數據結構metadata關鍵函數接口allocate_camera_metadata (分配metadata)find_camera_metadata_entry(從metadata中根據tag查找valu

原创 Android系統架構概覽

文章目錄(1) Application Framework(2) Android System Services(3) HAL(4) Linux Kernel 在軟件工程裏面,沒有一箇中間層解決不了的問題。換句話說,就是"任何軟件

原创 一步一步解析google camera2 demo(二)

目錄: 一、Camera2關鍵類解析 二、打開相機 三、預覽 四、拍照 二、打開相機 1、用戶打開相機過程中,首先會根據Fragment的聲明週期進行下述調用。 2、前面三個都是一些初始化動作,這裏主要關注onResume()函

原创 Android 查看內存命令總結

文章目錄內存相關概念解析dumpsys meminfoprocrankcat /proc/meminfofreevmstat 內存相關概念解析 一個進程佔用了多少內存,主要有下述四種說法: VSS(Virtual Set Si

原创 搭建struts框架並實現簡易登錄

搭建框架 使用myeclipse創建 Java Web 項目StructsDemo 右鍵該項目MyEclipse -> Project Facets[Capabilities] ->Install Apache Struts(1

原创 深入淺出CameraServer的Buffer管理機制

文章目錄前言request流程result流程Camera3StreamInputBuffer的申請和釋放OutputBuffer的申請和釋放request攜帶的buffer到底是什麼? 前言 Camera的buffer用途上主要

原创 Linux Shell

一個 shell 腳本就是一個包含一系列命令的文件。shell 讀取這個文件,然後執行文件中的所有命令,就好像這些命令已經直接被輸入到了命令行中一樣。 要使得腳本可執行,需要腳本獲得可執行權限(chmod)並且把它shell能夠找

原创 HTML

元素(Elements) 元素用於結構化HTML文檔,並告知瀏覽器如何呈現網頁。一般來說,一個元素包括一個首標籤(start tag)、零或多個屬性(attribute)、內容(content)和一個尾標籤(end tag)。如下

原创 Ubuntu軟件包管理

Ubuntu Linux採用了Debian的軟件包管理機制。由於軟件包具有易用性、靈活性和擴展性的特點,再加上Internet的支持,使用戶隨時都能擁有最新的 Ubuntu系統,這也是Ubuntu受到推崇的一個重要原因。因而,De

原创 shell 環境詳解

當我們登錄系統後,啓動 bash 程序,並且會讀取一系列稱爲啓動文件的配置腳本, 這些文件定義了默認的可供所有用戶共享的 shell 環境。然後是讀取更多位於我們自己家目錄中的啓動文件,這些啓動文件定義了用戶個人的 shell 環

原创 Android智能指針

文章目錄C++ RAII對象輕量級指針LightRefBase 類輕量級指針的實現類 spUML類圖 C++ RAII對象 RAII的全稱是Resource Acquisition Is Initialization,即“資源獲取

原创 5、實現

文章目錄條款26:儘可能延後變量定義式的出現時間條款27:儘量少做轉型動作條款28:避免返回handles指向對象內部成分條款29:爲“異常安全”而努力是值得的條款30:透徹瞭解inlining的裏裏外外條款31:將文件的編譯依存關係

原创 4、設計與聲明

文章目錄條款18:讓接口容易被正確使用,不易被誤用條款19:設計class猶如設計type條款20:寧以pass-by-reference-to-const替換pass-by-value條款21:必須返回對象時,別妄想返回其refer

原创 1、讓自己習慣C++

文章目錄條款01:視C++爲一個語言聯邦條款02:儘量以const, enum, inline替換#define條款03:儘可能使用const條款04:確定對象被使用前已被初始化 條款01:視C++爲一個語言聯邦 C++是由下述四個次

原创 2、構造/析構/賦值運算

文章目錄條款05:瞭解C++默默編寫並調用哪些構造函數條款06:若不想使用編譯器自動生成的函數,就該明確拒絕條款07:爲多態基類聲明virtual析構函數條款08:別讓異常逃離析構函數條款09:絕不在構造和析構過程中調用virtual