處理任務親和力 親和力表明了一個activity"心儀"哪個任務.預設下,屬於同一個應用的所有activitie之間具有相同的任務親和力.所以,預設下,一個應用的所有activitie首選屬於同一任務.然而,你可以修改一個activity的預設任務親和力.定義於不同應用的Activitie可以具有相同的任務親和力,或者同一應用中的activitie可以分配不同的任務親和力. 你可以使用<activity>元素的taskAffinity屬性來修改一個activity的任務親和力.t
NEON版本的xbmc-android編譯方法參考官方文檔:https://github.com/xbmc/android/blob/android-rebase-11/docs/README.android我的目標平台是hi3716c,其cpu feature是:swp half thumb fastmult vfp edsp vfpv3 vfpv3d16可以看到,該平台的cpu不支援NEON。1.
作者:唐攀,華清遠見嵌入式培訓講師。1. 編譯Android模擬器在Ubuntu下,我們可以在源碼裡編譯出自己的模擬器及SDK等編譯工具,當然這個和在windows裡下載的看起來沒有什麼區別。(Android SDK開發環境搭建)編譯Android模擬器的步驟和編譯Android系統很相似:Ø build/envsetup.shØ lunch sdk-engØ make
在hi3716C ics上:V/AudioPolicyManagerBase( 899): startOutput() output 1, stream 1,session 11V/AudioPolicyManagerBase( 899): changeRefCount() stream 1, count 1I/AudioPolicyManagerBase( 899): MEDIA fromCache 1V/AudioPolicyManagerBase( 899):
搞了二天終於把這個問題解決了。。原來是我sdk下載的android是1.5版本的。建立helloworld工程時選擇的是android1.5,AP8。建立完後直接就有幾個錯誤。還試了好幾遍。最終終於解決了。主要原因就是android版本太低,我下了個android2.2的就可以了。其中也參考了網上別人的方法,謝謝他們。把步驟總結如下,1.把工程裡buildpath裡添加進jre的編譯庫。2.下載android更高的版本,如2.2,在target裡面選擇下載的高版本android。3.重新buil
剛開始學android沒多久,可能寫的你們都懂,在這當做一個筆記寫下來。因為只創造一個按鈕的話,太簡單了,大家總想用它來和人們做交流,所以要設定監聽器。有二種方法,第一種:設定匿名內部類,這也是最常用的。首先要為按鈕添加監聽器,button01.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method
轉摘自:http://byandby.iteye.com/blog/816718簡單說說 自己對 android LayoutParams的理解吧,xh寫不出進階文章是低級寫手。 public static class ViewGroup.LayoutParams extends Object java.lang.Object ↳ android.view.ViewGroup.LayoutParams //繼承關係 以下說明摘自官方文檔E文好的可以看看 Class
前面我們從Android應用程式與SurfaceFlinger服務的關係出發,從側面簡單學習了SurfaceFlinger服務。有了這些預備知識之後,我們就可以從正面來分析SurfaceFlinger服務的實現原理了。SurfaceFlinger服務負責管理系統的框架緩衝區裝置,並且負責渲染系統的UI,即各個應用程式的UI。在本文中,我們就簡要介紹SurfaceFlinger服務,並且制定學習計劃。
轉自
轉自: http://blog.csdn.net/helldevil/article/details/6682211有一句話叫做常在河邊走,哪有不濕鞋。我們這些研究和開發Android的工程師正應了這句話,相必大家在調試的時候經常會遇到這麼個東西吧*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***Build fingerprint: 'XXXXXXXXX'pid: 1658, tid: 13086
在前面一篇文章中,我們簡要介紹了Android系統Surface機制中的SurfaceFlinger服務。SurfaceFlinger服務是在System進程中啟動的,並且負責統一管理裝置的框架緩衝區。SurfaceFlinger服務在啟動的過程中,會建立兩個線程,其中一個線程用來監控控制台事件,而另外一個線程用來渲染系統的UI。在本文中,我們就將詳細分析SurfaceFlinger服務的啟動過程。
轉自:
Linux Kernel and Android 休眠與喚醒(中文版)Table of Contents簡介國際化版本資訊對於休眠(suspend)的簡單介紹Linux Suspend 的流程相關的檔案:準備, 凍結進程讓外設進入休眠ResumeAndroid 休眠(suspend)涉及到的檔案:特性介紹Early SuspendLate ResumeWake LockAndroid SuspendEarly SuspendLate ResumeWake
顯示部分的幾個問題這幾天通過實際測試澄清了一下,主要是中各個模組的使用狀況以及HAL層幾個模組的調用流程。以問題的方式描述如下:0. SurfaceFlinger主要功能 SurfaceFlinger只是負責merge Surface的控制,如計算出兩個Surface重疊的地區,至於Surface需要顯示的內容,則通過Skia、OpenGL和pixflinger來計算。 1. Ap是怎麼進行顯示的? Surfaceflinger負責所有上層的顯示處理,對於AP(2
如所示,除了上層的圖形應用程式外,和Kernel空間有關的包括Linux FB裝置層以及和具體HW相關的驅動層,對應的源檔案分別是fb_mem.c、msm_fb.c、mddi_toshiba.c。下面會一一介紹。fb_mem.c 函數和資料結構介紹這個檔案包含了Linux Fb裝置的所有介面,主要函數介面和資料結構如下:A、Fb裝置的檔案操作介面B、3個重要的資料結構FrameBuffer中有3個重要的結構體,fb.h中定義,如下:1)
Android中定義了兩種智能指標類型,一種是強指標sp(strong pointer),另外一種是弱指標(weak
根據前面的介紹,surfaceflinger作為一個server process,上層的應用程式(作為client)通過Binder方式與其進行通訊。Surfaceflinger作為一個thread,這裡把它分為3個部分,如下:1、 Thread本身處理部分,包括初始化以及thread loop。2、 Binder部分,負責接收上層應用的各個設定和命令,並反饋狀態標誌給上層。3、 與底層的互動,負責調用底層介面(HAL)。結構圖如下:注釋:a、
本部分介紹的完全是使用者空間顯示部分的架構,與kernel並沒有直接的聯絡,主要是JNI以下到HAL以上的部分。1、Surface manager(surface flinger)簡介Surface manager是使用者空間中framework下libraries中負責顯示相關的一個模組。如下:當系統同時執行多個應用程式時,Surface Manager會負責管理顯示與存取操作間的互動,另外也負責將2D繪圖與3D繪圖進行顯示上的合成。surface manager 可以準備一塊
1添加新的Display Driver的工作內容參考上面linux下fb裝置的軟體架構,可以知道,要加入一個新的MDDI 介面的LCM,Driver的工作就是要提供自己的mddi_xxxx.c(在這次porting的過程中,為了節省時間,我們直接修改了mddi_toshiba.c),並且完成和這個lcd相關的HWr的初始化。主要的工作包括:A、初始化和LCD / LCD背光相關的IO以及電源;B、編寫初始化函數
1. inputinput text <string>輸入字串,可以不使用軟鍵盤,更方便調試(包括寫指令碼測試) input keyevent <event_code>輸入按鍵事件,支援全鍵盤按鍵,可以在沒有輸入裝置時,作業系統。按鍵事件可以參考源檔案:KeyEvent.javae.g: input keyevent 82 // unlockinput keyevent 1 // left softkeyinput keyevent 2 //