原创 分析linux下的進程地址空間,以及c語言的函數調用過程

今天的計劃是在linux環境下,通過一個簡單的程序,先了解一個進程的各個部分在內存中的分佈,然後着重學習棧的概念。熟悉之後,和C相關的各種困惑就可以解決一大半。 程序如下: /*  * file name: for_rabbit.c

原创 Android monkey測試腳本

@echo off set /p times=測試開關機次數 set n=0 :starttest set /a temp+=1 echo 執行第%temp%次 adb reboot adb wait-for-devices ping -

原创 Android中native_handle private_handle_t ANativeWindowBuffer ANativeWindow GraphicBuffer Surface的關係

在閱讀SurfaceFlinger HardwareComposer以及gralloc相關代碼的過程中,我們經常會遇到native_handle private_handle_t ANativeWindowBuffer ANative

原创 Android 4.4(KitKat)中的設計模式-Graphics子系統

原文地址:http://blog.csdn.net/jinzhuojun/article/details/17427491   本文主要從設計模式角度簡單地侃下Android4.4(KitKat)的Graphics子系統。作爲一個操

原创 Android下打印調試堆棧方法總結以及strace工具使用

打印堆棧是調試的常用方法,一般在系統異常時,我們可以將異常情況下的堆棧打印出來,這樣十分方便錯誤查找。實際上還有另外一個非常有用的功能:分析代碼的行爲。android代碼太過龐大複雜了,完全的靜態分析經常是無從下手,因此通過打印堆棧的動

原创 spin_lock and mutex_lock

本文由該問題引入到內核鎖的討論,歸納如下 爲什麼需要內核鎖? 多核處理器下,會存在多個進程處於內核態的情況,而在內核態下,進程是可以訪問所有內核數據的,因此要對共享數據進行保護,即互斥處理 有哪些內核鎖機制? (1)原子操作 atom

原创 lighthouse3d的GLSL教程

請參考原作者翻譯的文章 http://blog.csdn.net/racehorse/article/details/6593719 http://review.cyanogenmod.org/#/c/129313/

原创 Android createWindowSurface failed EGL_BAD_ALLOC 引起Crash的解決方案

createWindowSurface failed EGL_BAD_ALLOC 先看下Log: [java] view plain copy W/Adreno-EGL﹕ <eglTimestampCreate:

原创 理解GL_TRIANGLE_STRIP等繪製三角形序列的三種方式

GL_TRIANGLE_STRIP繪製三角形方式很多時候令人疑惑,在這裏對其運作機理進行解釋。 一般情況下有三種繪製一系列三角形的方式,分別是GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN

原创 對進程地址空間的一點認識

在進入正題前先來談談操作系統內存管理機制的發展歷程,瞭解這些有利於我們更好的理解目前操作系統的內存管理機制。 一 早期的內存分配機制 在早期的計算機中,要運行一個程序,會把這些程序全都裝入內存,程序都是直接運行在內存上的,也就是說程序中訪

原创 EGLImage in SurfaceFlinger

In android, the application UI is used as an OpenGL ES texture, and composed by SurfaceFlinger to form final image on d

原创 surfaceflinger composer flow && mutex introduction

1.1.1 Android中的同步與互斥 Android系統也提供了自己的同步互斥機制,不過任何技術的本質都是類似的,更多的是把這些本質的東西應用到符合自己要求的場景。目前Android封裝的同步互斥類包括: ·          M

原创 Android用surface直接顯示yuv數據(二)

 研究了一段時間Android的surface系統,一直執着地認爲所有在surface或者屏幕上顯示的畫面,必須要轉換成RGB才能顯示,yuv數據也要通過顏色空間轉換成RGB才能顯示。可最近在研究stagefright視頻顯示時發現

原创 VAO與VBO

我想大家都已經熟悉VBO了吧。在GL3.0時代的VBO大體還是處於最重要的地位,但是與此同時也出現了不少新的用法和輔助役,其中一個就是VAO。本文大致小記一下這兩者的聯繫,幫助大家理解一下這個角色。——ZwqXin.com VBO?S

原创 Android中線程同步之Mutex與Condtion的用法

Android封裝的同步類主要有MUTEX(AutoMutex)與Condition。本文分析如何使用他們,具體的實現參見《Android中線程同步之MUTEX與Condtion的實現》與《pthread之MUTEX與Condition用