Time of Update: 2018-12-03
對於Linux核心來說,其實Android系統就是一個普通的Linux應用程式而已,只是在init.rc中被設定為預設啟動;Framework運行環境綜述任何系統啟動過程的本質都是要建立一套系統運行所需的環境;android系統的啟動其實就是建立dalvik虛擬機器運行所需的環境,總體如下:android系統啟動的第一個進程為zygote,意思為“受精卵”,因為接下來所有的Dalvik虛擬機器進程都是通過它孵化出來的;該進程包括2個核心模組:Socket伺服器:用於接收啟動新的Dalvik進程的
Time of Update: 2018-12-03
Android中的GUI系統是用戶端和服務端配合的視窗系統,即後台運行了一個繪製服務,每個應用程式都是該服務端的一個用戶端,當用戶端需要繪製時,首先請求服務端建立一個視窗,然後在視窗中進行具體的視圖內容繪製;對於每個用戶端而言,他們都感覺自己獨佔了螢幕,而對於服務端而言,它會給每一個用戶端視窗分配不同的層值,並根據使用者的互動情況動態改變視窗的層值,這就給使用者造成了所謂的前台視窗和後台視窗的概念;Android的螢幕繪製架構如:SurfaceFlinger進程:簡稱sf,該進程在系統開機時自動
Time of Update: 2018-12-03
(歡迎大家加入android技術交流QQ群:209796692)接收相機intent的結果 一旦你構建並執行了一個映像或視頻相機intent,你的應用必須配置為能接收intent的結果.本節向你展示如何攔截從相機intent來的回調以使你的應用可以對擷取到的映像和視頻做更多的動作. 為了接收一個intent的結果,你必須覆寫啟動intent的activity的onActivityResult()方法.下面的代碼示範了如何覆寫onActivityResult()來取得相機intent的結果.p
Time of Update: 2018-12-03
顯示部分的幾個問題這幾天通過實際測試澄清了一下,主要是中各個模組的使用狀況以及HAL層幾個模組的調用流程。以問題的方式描述如下:0. SurfaceFlinger主要功能 SurfaceFlinger只是負責merge Surface的控制,如計算出兩個Surface重疊的地區,至於Surface需要顯示的內容,則通過Skia、OpenGL和pixflinger來計算。 1. Ap是怎麼進行顯示的? Surfaceflinger負責所有上層的顯示處理,對於AP(2
Time of Update: 2018-12-03
自訂的Checkbox在布局的時候各種不服帖,試了很多方法都沒辦法把CheckBox框置中,主要是我不想讓checkbox的事件用LinearLayout接管,所以我把Checkbox的範圍放的很大。最後用了一種解決辦法: <CheckBox android:id="@+id/downloadlist_cell1_cb" android:layout_width="52dp"
Time of Update: 2018-12-03
獲得跟附件通訊的許可權在跟USB附件裝置進行通訊之前,你的應用程式必須要從使用者那裡獲得許可。注意:如果你的應用程式使用Intent過濾器來發現那些被接入的附件裝置,而且使用者允許你的應用程式處理該Intent對象,那麼會自動的接收許可。否則,在串連附件裝置之前,你必須明確的申請接入許可。明確的申請接入許可,在有些情況下是必須的,如在你的應用程式列舉出了已經接入的附件裝置,並要跟其中之一進行通訊時。在試圖跟其通訊之前,你必須檢查訪問該附件裝置的許可權。否則,如果使用者拒絕了你訪問該附件裝置的請求
Time of Update: 2018-12-03
為Android擴充一個硬體模組需要做兩件事:1、硬體和核心支援。2、/system/etc/permissions/下面添加xml設定檔。/framework/base/data/etc/下面有一些已經寫好的,可以根據需要直接複製過去。 這樣,通過PackageManager的hasSystemFeature或getSystemAvailableFeatures就可以確定系統是否支援哪個模組,然後使用對應API了。XML設定檔不管有多少,它們的文法是一樣的,完全可以把它們放進一個XML檔案裡面
Time of Update: 2018-12-03
先說說這三個layer。LAYER_TYPE_SOFTWARE無論硬體加速是否開啟,都會有一張Bitmap(software layer),並在上面對WebView進行軟渲染。好處:在進行動畫,使用software可以只畫一次View樹,很省。什麼時候不要用:View樹經常更新時不要用。尤其是在硬體加速開啟時,每次更新消耗的時間更多。因為渲染完這張Bitmap後還需要再把這張Bitmap渲染到hardware
Time of Update: 2018-12-03
/packages/apps/Launcher/res/xml/default_workspace.xml中記錄了系統初始化或者恢復出廠預設值時案頭標的排列。Launcher程式第一次運行完畢以後,會在/data/data/com.android.launcher/databases/launcher.db中建立記錄,裡面有所有當前的案頭表徵圖。以後每次啟動只會從這裡讀取案頭表徵圖。 下面簡單分析一下default_workspace.xml:default_workspace.xml中,支援的
Time of Update: 2018-12-03
小滿(bill man)個人原創,歡迎轉載,轉載請註明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man1.法向量在光學中,有一個概念非常重要,就是法向量,物體每個頂點的法向量決定了光照的反射情況,只有為頂點設定法向量,系統可以正常地進行反射工作,物體每個頂點的法向量是指處於三維物體表面處的法線方向,是一個由三個元素組成的數組。有兩種設定法向量的方法,分別是面法向量法和點平均法向量法,這兩種確定法向量的方法分別有其不同的使用的場合,其中面法向量法適
Time of Update: 2018-12-03
ZZ: http://blog.csdn.net/sergeycao/article/details/8198205一、如何將帶源碼的APK預置進系統?1) 在 packages/apps 下面以需要預置的 APK的 名字建立一個新檔案夾,以預製一個名為Test的APK 為例2) 將 Test APK的Source code 拷貝到 Test 檔案夾下,刪除 /bin 和 /gen 目錄3) 在 Test 目錄下建立一個名為
Time of Update: 2018-12-03
顏色代碼:顏色代碼: 1白色 #FFFFFF 2 紅色 #FF0000 3 綠色 #00FF00 4 藍色 #0000FF 5 牡丹紅 #FF00FF 6 青色 #00FFFF 7 黃色 #FFFF00 8 黑色 #000000 9 海藍 #70DB93 10 巧克力色 #5C3317 11 藍紫色 #9F5F9F 12 黃銅色 #B5A642 13 亮金色 #D9D919 14 棕色 #A67D3D 15 青銅色 #8C7853 16 2號青銅色 #A67D3D 17 士官服藍色 #5F9F9
Time of Update: 2018-12-03
sharedpreferences是意為“共用喜好設定” 它是被所有Activity共用的,不能在應用程式套件組合之外共用喜好設定。喜好設定是以一組“鍵/值”的形式儲存。而它所支援的資料類型如下: 1. 布爾值 2. 浮點值 3. 整型值 4. 長整型值 5. 字串值 它的使用方式如下: 1. 建立一個SharedPreferences對象的執行個體 2.
Time of Update: 2018-12-03
我在運行一個Android項目時,類比機啟動時老是出現 [2011-08-12 17:10:10 - bus1] Installation failed due to invalid APK file![2011-08-12 17:10:10 - bus1] Please check logcat output for more details.[2011-08-12 17:10:10 - bus1] Launch
Time of Update: 2018-12-03
本文來自http://blog.csdn.net/hellogv/ ,引用必須註明出處! 上次介紹了Activity以及Intent的使用,這次就介紹Service,如果把Activity比喻為前景程式,那麼Service就是背景程式,Service的整個生命週期都只會在後台執行。Service跟Activity一樣也由Intent調用。在工程裡想要添加一個Service,先建立繼承Service的類,然後到AndroidManifest.xml ->
Time of Update: 2018-12-03
1.簡述android 的座標轉換處理:This implementation is a linear transformation using 7 parameters (a, b, c, d, e, f and s) to transform the device coordinates (Xd, Yd) into screen coordinates (Xs, Ys) using the following equations: s*Xs = a*Xd + b*Yd + c s*Ys =
Time of Update: 2018-12-03
前幾天在做一個Android app的時候,需要畫一個餅圖,直接用代碼自己畫一個當然也不會太複雜,但畢竟還是應該盡量避免重新發明輪子(有些憤青連這句話也要吐槽,好吧,加上一句,專業製造輪子的除外),在網上找了一圈下來,發現可用的庫寥寥可數,aiCharts確實不錯,可惜是商業化產品,免費試用的有浮水印,不太適合用在我的app裡面,最後決定用DroidCharts,一個JFreeCharts的Android移植版本 目前DroidCharts已經實現了下面幾種圖:pie chartline
Time of Update: 2018-12-03
昨天分析了一把snd_kcontrol,可以認為上層應用的確是通過名稱標識name來遍曆底層的snd_kcontrol鏈表,從而找到相匹配的kcontrol。見snd_ctl_find_id函數/** * snd_ctl_find_id - find the control instance with the given id * @card: the card instance * @id: the id to search * * Finds the control instance
Time of Update: 2018-12-03
【Android 開發人員】第一部分
Time of Update: 2018-12-03
What's TLS? TLS即Thread LocalStorage。支援TLS的線程有三種類型的變數:線程局部變數,執行緒區域變數(TLS)和全域變數。TLS的不同之處:所有線程以同一個變數名或索引訪問TLS變數,但不同線程的TLS變數儲存在不同的記憶體地區。簡而言之,就是同一個名字,不同的儲存。