Android 中的 framebuffer 和SurFaceFlinger的關係

 作者: 李先靜 xianjimli@gmail.com希望對那些在開發高通MSM7XXX平台的朋友有很大的協助FrameBuffer 在Android中並不像在其它GUI那樣直觀,抽象的層次比較多,加上GUI的更新是通過OpenGLES來做的。所以讓人很難搞清GUI更新的整個流程,最近要準備一個講稿,所以花了一些去研究,這裡做點筆記供大家參考,原始碼是基於高通平台的,這些代碼在網上都可以下載。FrameBuffer

android matrix 介紹2

上一篇Android畫圖之Matrix(一) 講了一下Matrix的原理和運算方法,涉及到高等數學,有點難以理解。還好Android裡面提供了對Matrix操作的一系列方便的介面。    Matrix的操作,總共分為translate(平移),rotate(旋轉),scale(縮放)和skew(傾斜)四種,每一種變換在Android的API裡都提供了set, post和pre三種操作方式,除了translate,其他三種操作都可以指定中心點。    

什麼時候加上android.intent.category.DEFAULT

 1、要弄清楚這個問題,首先需要弄明白什麼是implicit(隱藏) intent什麼是explicit(明確) intent。Explicit Intent明確的指定了要啟動的Acitivity ,比如以下Java代碼: Intent intent= new Intent(this, B.class) Implicit Intent沒有明確的指定要啟動哪個Activity ,而是通過設定一些Intent

Android畫圖之Bitmap(一)

最近寫電子書程式,設計到對映像的處理,主要是對 Bitmap 的處理,所以有一點小小的心得,拿出來跟大家分享一下。要把一個 Bitmap 畫到 View 上,必須用到的類有 android.graphics.Canvas, 和 android.graphics.Bitmap 。方法很簡單,在 View 裡面,重載 onDraw(Canvas canvas) 方法,然後用 canvas.drawBitmap() 方法,將其畫在螢幕上。Java代碼 public class MyView

Android系統事件的recycle原理

最近封裝一些功能性的jar包,因為需要產生一些動作,然後給調用者一些回調,所以用到了事件和監聽器。     舉個例子,比如DragListener和DragEvent,最開始寫的時候,每次Drag動作都觸發一個DragEvent事件,然後就得new一個DragEvent對象。後來感覺這樣太浪費記憶體了,然後就研究了一下系統的MotionEvent這個類,找到了好的解決方案。   

Android Surface Canvas

SurfaceFlinger對象建立過程示意1 SurfaceSession的建立用戶端請求建立Surface時,首先在要與SurfaceFlinger建立一個Session,然後再Session上建立一個Connection通過概念返回Bclient對象。WindowManagerService在添加第一個視窗前會檢查SurfaceSession是否建立,如何沒有建立,將會建立立一個執行個體來代表與SurfaceFlinger的一個串連。new

【android】說說GestureDetector.OnGestureListener onScroll函數

public abstract boolean onScroll (MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)Since: API Level 1Notified when a scroll occurs with the initial on down MotionEvent and the current move MotionEvent. The distance in x and y is also

Android 許可權 共用UID和簽名

 共用UID 安裝在裝置中的每一個Android包檔案(.apk)都會被分配到一個屬於自己的統一的Linux使用者ID,並且為它建立一個沙箱,以防止影響其他應用程式(或者其他應用程式影響它)。使用者ID 在應用程式安裝到裝置中時被分配,並且在這個裝置中保持它的永久性。通過Shared User id,擁有同一個User id的多個APK可以配置成運行在同一個進程中.所以預設就是可以互相訪問任意資料. 也可以配置成運行成不同的進程,

android make 命令使用

 如果android的source在android21檔案夾(即Makefile檔案的目錄)下,先執行cd android21,然後可以執行下面的命令;1、make Settings產生Settings.apk的檔案2、 make snod等同於make droid該命令產生一個新的系統映像system.img,速度比make快很多,但不穩定(有的時候不好用)將這個系統映像拷貝至sdk下cp out/target/product/generic/system.img

Android GUI 的更新過程

Android GUI 的更新過程2011-05-25 17:41 From: http://www.linuxgraphics.cn/android/gui_update_flow.html元件圖表相關組件如所示:ViewRoot在private void draw(boolean

Android編 譯系統分析

 1. Android編譯系統分析編譯指令碼及系統變數build/envsetup.sh指令碼分析在編譯原始碼之前通常需要在android原始碼頂層目錄執行 . ./build/envsetup.sh 目的是為了使用指令碼 envsetup.sh 裡面定義了一些函數:function help()function get_abs_build_var()function get_build_var()function check_product()function

淺談Android Service 組件

    Service是Android系統提供的四大組件之一,它的地位和Activity的並列的,只不過沒有Activity的使用頻率高。顧名思義Service就是運行在背景一種服務程式,一般情況下,很少和使用者互動,最大的特點就是沒有可視化介面。         

Android操作framebuffer[zz]

如對Android原生(Natvie)C開發還任何疑問,請參閱《Android原生(Native)C開發之一:環境搭建篇》:http://blog.sina.com.cn/s/blog_4a0a39c30100auh9.html 雖然現在能通過交叉環境編譯器,並push到Android上執行,但那隻是console台程式,是不是有些單調呢?下面就要看如何通過Linux的 framebuffer

android matrix 介紹1

Matrix ,中文裡叫矩陣,高等數學裡有介紹,在影像處理方面,主要是用於平面的縮放、平移、旋轉等操作。        首先介紹一下矩陣運算。加法和減法就不用說了,太簡單了,對應位相加就好。影像處理,主要用到的是乘法 。下面是一個乘法的公式:         在 Android 裡面, Matrix 由 9 個 float 值構成,是一個 3*3 的矩陣。如。         沒專業工具,畫的挺難看。解釋一下,上面的 sinX 和 cosX ,表示旋轉角度的 cos 值和 sin

Android編 譯系統結構

 2010-11-13 12:36 511人閱讀 評論(0) 收藏 舉報        圖1 android 的makefile結構 android的編譯檔案主要依賴於mk檔案,其源碼編譯名字是Android.mk,而不我們常見的Makefile檔案。 android目錄下的Makefile檔案,include了build/core目錄下的main.mk檔案。main.mk檔案   

Android開發Intent應用概述

今天,我們來研究一下Intent,沒錯,就是前面說過的比較難理解的那個東西,希望通過這篇文章之後,你發現前面那句話其實是不對的。前文中說過,Intent就像Activity之間的雙面膠,就字面意思而言:“意圖, 意向, 目的”, 基本上可以詮釋這個對象的作用。它裡麵包含的就是一些資訊,這些資訊能夠告訴我們當前發生了什麼,以及想要幹什麼。我覺得和前面的事件驅動中的事件非常 像,不同的是,它不僅僅包含事件,還包含一些資料資訊。Intent或者也可以說像一個需求說明一樣,說明了當前的事件以及一些資料,

往android的核心添加驅動(其實就是添加linux核心驅動)

向android的核心添加驅動,其實就是向linux核心添加驅動。主要在兩個檔案裡添加點資訊,一個是Kconfig檔案,一個是Makefile檔案。比如你添加的驅動你代碼放到drivers目錄下面的XXX目錄,那麼修在該目錄下的Kconfig檔案和Makefile檔案。具體的修改方法:比如我現在修改drivers\staging\android\下的Kconfig檔案。config ANDROID_LOGGERtristate "Android log driver"default

android userdata.img

 1、android檔案系統的結構 android源碼編譯後得到system.img,ramdisk.img,userdata.img映像檔案。其中, ramdisk.img是emulator的檔案系統,system.img包括了主要的包、庫等檔案,userdata.img包括了一些使用者資料,emulator載入這3個映像檔案後,會把 system和 userdata分別載入到 ramdisk檔案系統中的system和

Android下如何偵錯工具?

文章目錄 使用Eclipse開發平台調試結合Android SDK調試使用JUnit調試

android 啟動過程和 build 過程

 首先下載下android源碼並編譯,網上的資料特別多,可以參考一下這個網站http://blog.csdn.net/liaoshengjiong/archive/2009/03/04/3957749.aspx按照網站上的步驟,將android核心編譯成功,如果不出意外的話,在out/target/product/generic目錄下會產生三個檔案,分別是ramdisk.img、sytem.img、userdata.img。這三個檔案到底有什麼用呢?下面開始分析一下。首先在linux終端下使用命

總頁數: 2802 1 .... 467 468 469 470 471 .... 2802 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。