久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇3G手機技術專區Symbian開發 → Symbian基礎類知識


  共有7622人關注過本帖樹形打印

主題:Symbian基礎類知識

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
Symbian基礎類知識  發帖心情 Post By:2010-12-3 15:45:30

〖SymbianOS 簡介〗

1.1 SymbianOS的六大特性

1、操作系統是運行在ROM上的
2、系統是運行在電池驅動的設備上的
3、完全是面向對象的
4、基于組件的設計
5、被設計成確保用戶的數據不會丟失
6、簡單的UI系統

Symbian 是真正的微核操作系統,所謂“微核”,就是說操作系統
只有很小的一部分是運行在最高優先級的,其他的功能都是以Client-
Server的方式提供。下面是Symbian系統的內部結構圖:

應用層:Shell, OPL, 及其他應用程序
------------------------------------------------
系統層:Dialogs, Menu, Toolbar, Icons, Resources, JavaVM,
Grid, Rich Text, Edit Control, List Control, Application Framework,
Jave Class Libraries.
------------------------------------------------
服務層:Window Server, Process Server, Socket Server, Sound Server,
Wireless Server, Database Server, File Server, Alarm Server, Comms
Server, 以及無線協議
------------------------------------------------
內核:euser.dll, ekern.exe, 服務控制(supervisor server),
HAL(設備抽象層)
------------------------------------------------
驅動程序層:包括音頻驅動,顯示驅動,MMC驅動,鍵盤驅動,串并口驅動
,DSP驅動,時鐘控制器驅動等等

1.2 Symbian UI系統命名

使用過Symbian UI系統的同志們一定都聽說過一些奇怪的名字,比如:
Eikon, Cone, Apparc, Avkon等等,這么多kon字輩的東東到底有什么關系呢?

首先,大家要明白,在kon字輩的同志們中,Cone和Apparc是老大,其他kon們
都是從這兩個kon繼承來的。

先說說Cone。Cone就是Control Environment(控制環境)的縮寫。Cone是Client
端的控制環境。這個東東定義了Graphic UI中一些基礎的東西,沒什么代碼,
但是是一種Design pattern

Apparc是Application Architecture的縮寫。Application architecture定義了
Symbian應用程序的框架。主要是定義了CApaApplication, 以及CApaDocument
這兩個類,也就是d&v結構。然后還定義了程序啟動以及數據控制流等等。

kon們其實就是控件組,關于控件的用法以后再說。Series60用的是Avkon,
Series90用的是Ckon,大家可以理解為不同的kon是專為不同屏幕大小的手機設
計的不同的控件庫。

以Series60為例:

Avkon
-----
Eikon
-----
Uikon
-----
Cone + Apparc

===================================================
〖Symbian OS內存管理介紹〗

在Symbain OS中內存管理的主要任務是:如何為程序分配內存以及如何在程序的內部分配內存。
Symbian OS 程序最根本和基礎的東西就是內存,作為一個有限的資源,必須小心細致地處理,特別是當有錯誤或異常發生的時候。正是由于這樣的原因,在支持清理機制的API中,異常處理和內存管理幾乎是綁在一起的。
Uikon核心框架使用這些支持清理機制的API來管理內存,使GUI程序的基礎架構具有良好的性能和表現。GUI程序還支持異常情況下內存清理,以及調試模式下的內存泄露檢測。

一、Symbian OS的清理機制(cleanup)
清理機制是Symbain OS 程序對于程序異常處理的一種特有方式。當異常發生時,清理機制將清理錯誤的內存區域。Symbian OS的清理策略和它所有類的基類CBase類有著密切關系。要了解Symbian OS清理機制就必須清楚以下三個概念:異常處理(exception handling)、清理棧(cleanup stack)以及通用清理項(general cleanup item)。

1、異常處理 (Exception Handling)
Symbian OS沒有使用C++的try…catch異常處理方式,而是使用了它自己所特有的方式:leave。在Symbian OS中,異常以 leave 的形式出現,trap harness可以在程序中設置一個點,使程序發生leave時回跳到這個點上,宏TRAP和TRAPD 可以在程序中設置這個點。調用系統API User 類的一些靜態函數可以觸發Leave ,例如 User:圖片點擊可在新窗口打開查看eave()方法,這就相當于主動地拋出異常,當然某些系統函數或是用戶代碼,也有可能發生leave。

2、清理棧(Cleanup Stack)
當 leave 發生時,任何分配了資源的heap內存,例如通過new()方法創建的對象,他們將被孤立,因為leave一旦發生已指向他們的指針就不存在了,這樣就導致了內存泄漏。為了防止內存泄漏發生,程序就有要記錄那些已經被創建的對象,如果程序運行發生leave,那么系統可以自動找到并清理他們所占用的內存。這些工作可以通過清理棧來完成。CleanupStack類是支持清理棧的一個類。GUI應用程序擁有一個由應用程序框架所提供的清理棧,其他的應用程序必須用CTrapCleanup 類自己構建一個清理棧。

3、通用清理項(General Cleanup Item)在默認情況下,清理棧只處理那些 CBase-based 類(也就是它所處理的類必須是由 CBase類繼承下來的)和那些untyped 類型對象(用一個簡單的內存釋放語句就可以釋放的對象)。通用清理項(General Cleanup Item)使其他類型的對象也可以放到清理棧中。TCleanupItem類是支持通用清理項的一個類。

二、Symbian OS的內存分配
內存分配管理的目的在于 能夠使Symbian OS 進程通過底層函數訪問和操縱內存區域。絕大多數的客戶端程序不需要直接使用這些函數,那些在進程間共享內存區域以及在一個進程的線程間共享內存區域的程序會使用這些底層函數來管理內存。這里有兩個概念需要了解 chunk(塊) 和 heap(堆)。
1、Chunk(塊)chunk 是一組線性相鄰的內存地址在RAM 中的映射。進程創建以后,它的地址空間包括1到3個chunk:
(1)stack/heap chunk:這里包括了進程的主線程所要使用的stack 和 heap。所以這個chunk 通常是進程所必須的。
(2)code chunk:這個chunk 只有當進程被加載到RAM時才出現。
(3)data chunk:只有當進程擁有靜態數據的時候才會有這個chunk。

當然,程序可以還創建額外的chunk。 一個全局的chunk可以被其他進程訪問,這樣就實現了大量內存的共享。RChunk 類提供了對chunk的支持。TFindChunk 類可以用來查找其他進程創建的全局chunk。

2、Heap(堆)
heap 通常用于顯式的動態內存分配 。Symbian OS定義了C++中new操作符創建對象到當前線程的heap中。Heap的功能可以是:
?監控內存泄漏:對于一個GUI程序來說,這個是經常發生的。
?在同一進程的線程間進行共享。
?在單元一級上進行訪問和操作。
RHeap類提供了對heap的支持。如果heap 是當前線程的 heap,那么使用等價系統靜態方法API 的User 類 將更加方便。這些系統靜態方法API 同樣也提供了宏來管理內存,以防止內存泄漏。

三、進程和地址空間
Symbian OS 的程序可以包含若干進程,每個進程包含若干在概念上并發執行的線程。每一個用戶進程都有他自己私有的地址空間。一個用戶進程不可以直接訪問另外一個用戶進程的地址空間。進程包括若干線程,他們運行在進程的特權級。
Kernel 進程是一個比較特殊的進程,它的線程運行在超級訪問者級別,這個進程通常包括兩個線程。
Kernel server 線程:是一個原始的進程,在系統啟動時就已經存在。它可以在heap執行核心函數請求的內存分配或重新分配。
null 線程:當系統中沒有其他可運行的線程時這個線程就開始運行,null 線程使處理器處于空閑狀態,減少耗電

線程的地址空間包括若干chunk,在剛創建的時候,進程只有一個線程和1到3個chunk。如果進程創建了新的線程,那么一個新的chunk將被創建被分配給這個線程。每一個chunk都包括一個了stack,如果線程沒有共享當前heap,那么在chunk中也將包括heap。

四、Chunks(塊)
Chunk 把RAM映射到一個連續的虛擬地址。一個chunk中包括了一個保留區(reserved region)和和委托區(committed region)。保留區是一個連續的虛地址區域,它的大小可能是整個chunk的大小。在委托區中存放了真正映射到RAM的地址。chunk的大小是可以被動態修改的,允許委托區也可以修改大小,他的范圍是從0一直到保留區大小,是處理器頁面大小的整數倍。這樣,就允許進程獲得更多的內存空間。通常,委托區起始地址位于保留區底部。另外還可以創建 double-ended chunk ,那么委托區將是保留區的任意連續子集,他的大小也是處理器頁面大小的整數倍,這種Chunk的委托區可以有兩個頂端和底端,并且它們的大小也是可變的。
在chunk創建時可以指定chunk的最大空間,保留區大小應該小于這個最大值。.盡管這樣,如果保留區請求比當前chunk更大的空間,那么chunk可以被重新分配空間,以允許保留區擴大。保留區可以擴大到撐滿整個chunk.。

Local chunks(本地 chunk)
如果一個chunk對于創建它的進程是私有的,不允許被其他用戶進程訪問,那么那么這個chunk就是本地chunk,本地chunk是沒有名字的。

Global chunks(全局chunk)
如果一個chunk可以被其他進程訪問,那么這個chunk就是全局chunk。全局chunk是有名字的,這樣,進程可以根據chunk的名字來訪問他們。當進程打開一個全局chunk的時候,他把chunk映射到自己的地址空間,這樣就可以對chunk進行直接訪問和數據共享了。如果已經知道了chunk的名稱,那么使用 RChunk::OpenGlobal() 可以直接打開chunk.。如果只知道了chunk的部分名字,那么可以使用帶 TFindChunk 型參數的 RChunk::Open()方法來打開chunk.。

五、Heaps(堆)

Each thread has a chunk which contains that thread's program stack. For the main thread of a process, this chunk also contains the thread's heap. A program's request for memory is allocated from this heap. For example, a code fragment such as:

每一個線程都有一個包含了自身程序棧(program stack)的chunk。.對于進程的主線程來說,這個chunk中同樣也包含了線程heap。程序對于內存的請求都是從這個heap的地址空間來分配的,例如有以下代碼:

CArrayFixFlat<...>* fixflat;
...
fixflat = new (ELeave) CArrayFixFlat<...>(3);

程序請求了heap中部分的內存地址,并把地址返回給調用者。請求heap中的內存必須是顯式的,同樣,釋放這些內存時也必須進行顯式調用。

Structure of a heap(heap 結構)
heap包括兩個單元列表。一個是已經分配的內存單元列表,一個是還未分配的內存單元列表。兩個列表都在heap對象上。內存單元由單元頭和單元體組成,單元體實際上就是一個內存區。單元頭是在e32std.h 中定義的 RHeap::SCell 結構體,他是RHeap類的一部分。

如何共享heap
heap通常被同一個進程的線程所共享當一個線程創建時:
?它可以和父線程使用同一個heap。
?父線程同時為新線程創建一個新的heap。
?新線程使用系統為它創建的heap。
這里,只有第一和第二中情況可以認為是heap的共享。

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

Symbian基礎類知識








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国产精品国产三级国产aⅴ原创| 综合久久国产| 国产精品一区二区久久不卡| 日本欧美肥老太交大片| 日韩 欧美一区二区三区| 三级欧美在线一区| 久久精品72免费观看| 极品美女销魂一区二区三区免费| 日本女优在线视频一区二区| 青青草97国产精品免费观看无弹窗版| 美女视频免费一区| 国产露脸91国语对白| thepron国产精品| 91九色在线观看| 久久免费看av| 一区二区三区四区| 欧美色图激情小说| 欧美一区二区美女| 国产欧美精品一区二区色综合| 中文字幕av一区二区三区高| 亚洲欧洲综合另类| 日韩中文字幕91| 国内精品伊人久久久久影院对白| jlzzjlzz亚洲日本少妇| 久久av一区二区三区亚洲| 日本一区不卡| 88在线观看91蜜桃国自产| 久久久久久久久久久电影| 成人免费在线观看入口| 天堂资源在线中文精品| 高清在线不卡av| 精品国产乱码一区二区三区四区| 91福利精品视频| 久久久一区二区三区| 亚洲最大的成人av| 国产一区二区在线视频| 91青青草免费在线看| 日韩av一级大片| 欧美一级日韩免费不卡| 亚洲黄色小说网站| 国产宾馆实践打屁股91| 国产精品美女黄网| 91福利国产精品| 国产亚洲女人久久久久毛片| 午夜av电影一区| 3d动漫精品啪啪一区二区三区免费| 午夜精品美女久久久久av福利| 91精品国产综合久久小美女| 亚洲图片激情小说| 国产乱人伦偷精品视频不卡| 国内视频一区| 欧美一区二区私人影院日本| 亚洲色大成网站www久久九九| 韩国精品主播一区二区在线观看| 国产精品免费观看高清| 精品视频一区三区九区| 亚洲女同一区二区| 成人午夜激情片| 中文字幕在线中文字幕日亚韩一区| 久久九九99视频| 国产原创一区二区三区| 欧美一区二区三区四区在线观看地址 | 欧美日韩国产另类一区| 国产精品久久久久婷婷二区次| 久久99在线观看| 欧美在线视频一区二区三区| 久久久.com| 国产综合久久久久影院| 亚洲激情一区二区三区| 中文字幕精品一区二区三区精品| 国产精品一区二区男女羞羞无遮挡| 无码免费一区二区三区免费播放| 久久精品欧美一区二区三区不卡| 精品在线一区二区三区| 日韩欧美亚洲v片| 亚洲欧美怡红院| 99中文字幕| 精品国产成人在线影院 | 男人的天堂久久精品| 国内精品**久久毛片app| 日韩欧美色电影| 国产一区二区导航在线播放| 在线观看欧美亚洲| 一二三四区精品视频| 国产一区二区三区黄| 久久影院电视剧免费观看| 国产精品性做久久久久久| 欧美三级乱人伦电影| 热久久久久久久| 色综合久久综合网97色综合| 亚洲国产一区视频| 午夜精品一区二区在线观看| 亚洲视频一区二区在线| 九九九九九精品| 亚洲欧美日韩小说| 蜜桃av久久久亚洲精品| 亚洲三级电影网站| 久久综合毛片| 中文字幕人成不卡一区| 黑人中文字幕一区二区三区| 亚洲欧洲国产专区| 精品综合久久久| 亚洲欧美一区二区三区孕妇| 久久久久免费网| 亚洲一区二区高清| 中文字幕精品—区二区日日骚| 五月天丁香久久| 欧美日韩综合不卡| 国产精选一区二区三区| 日韩一二在线观看| 99精品视频中文字幕| 国产片一区二区| 久久综合狠狠综合久久综青草 | 久久无码av三级| 99久久综合国产精品| 国产性天天综合网| 国产在线一区二| 亚洲精品国产一区二区精华液 | 欧美男生操女生| 粗大黑人巨茎大战欧美成人| 精品美女一区二区三区| 99国产精品久久久| 中文字幕一区二区三区四区不卡 | 久久精品成人一区二区三区蜜臀| 亚洲精品中文在线影院| 亚洲国产高清国产精品| 美日韩一级片在线观看| 日韩欧美一级二级| 国产一区二区三区高清| 五月天网站亚洲| 欧美猛男gaygay网站| 91在线云播放| 一区av在线播放| 欧美日韩一区中文字幕| 99re热视频这里只精品| 1024精品合集| 欧美丝袜丝交足nylons图片| caoporen国产精品视频| 亚洲精品亚洲人成人网在线播放| 色婷婷综合视频在线观看| 成人午夜免费av| 亚洲另类春色校园小说| 91成人在线观看喷潮| kk眼镜猥琐国模调教系列一区二区| 中文字幕亚洲一区二区av在线| 色婷婷国产精品久久包臀| 波多野结衣的一区二区三区| 亚洲日本青草视频在线怡红院| 综合久久国产| 97在线资源站| 日本午夜精品一区二区三区电影 | 日韩av二区在线播放| 制服丝袜国产精品| 九九久久99| 国产福利精品一区二区| 18成人在线观看| 欧美精品日韩综合在线| 国产日韩久久| 韩国精品一区二区| 亚洲柠檬福利资源导航| 日韩一卡二卡三卡四卡| 色999五月色| 91亚洲精品一区二区乱码| 天天色综合天天| 欧美国产精品v| 欧美在线999| 久久香蕉综合色| 国产成人一区在线| 亚洲chinese男男1069| 久久久精品2019中文字幕之3| 中文视频一区视频二区视频三区 | av成人免费在线| 午夜免费久久看| 国产精品卡一卡二| 日韩欧美国产综合| 在线一区二区三区| 久久人人九九| 99免费精品在线观看| 久久精品久久久精品美女| 亚洲三级电影网站| 久久亚洲一级片| 在线综合视频播放| 伊人精品久久久久7777| 精品蜜桃一区二区三区| 99久久精品国产麻豆演员表| 精品一区二区免费在线观看| 亚洲va欧美va人人爽午夜| 国产精品国产三级国产aⅴ无密码| 欧美一级片在线看| 欧美性色欧美a在线播放| 日韩精品国内| 国产精品久久精品国产| 99久久国产综合精品麻豆| 国内精品在线播放| 奇米888四色在线精品| 亚洲综合成人在线| 国产精品福利一区二区| 国产视频911| 亚洲精品一区二区三区精华液| 欧美一区二区美女|