我對Symbian中的活動物件的理解

2021-04-27 17:14:04 字數 502 閱讀 2165

symbian中的活動物件的存在是由它的系統功能的結構決定的。它的系統功能是由一系列的服務(server)完成的,通過一些定義好的api提供給客戶端(client),也就是我們的程式使用。

這些功能實際上並不是在我們的程式的程序是執行的,所以很多的api都有同步(sychronous)和非同步(asychronous)的版本。

那如果我們使用非同步版本的api當它完成任務時我們的程式如何得知它?

讓程序掛起,直到功能完成才繼續執行?這和同步函式有什麼區別?還有程序掛起的這段時間內程式的ui也處理掛起狀態,使用者無法對程式進行任何操作,這可是應用程式的大忌。

由程式框架提供乙個捕捉完成訊號的函式的過載?這個比上乙個方法好,但程式中這麼多非同步操作都集中在一起處理是不是太亂了一點,而且各個物件的非同步操作都集中在一起是不是打破了封裝了?

那再進一步,在有用到非同步函式的物件內步實現一系列的介面,在這些介面中來處理這些訊息怎樣?bingo!這就是活動物件!

活動物件是可以捕捉到它內部的非同步操作的返回訊息的物件。

Symbian 中的活動物件和CS框架

所有的active object都繼承於cactive類,cactive有兩個純虛方法需要被實現 runl and docancel 在建構函式中需要給定active object的優先值 提出request的函式有三件事情要做 1.判斷是否有request被提出但是還沒有解決 2.提交reques...

整理 symbian中活動物件的簡單使用

整理 symbian中活動物件的簡單使用 symbian官方推薦使用活動服務物件 cactive 來代替多執行緒的使用,我想這個道理是很明了的,在手機這樣的小記憶體裝置裡,執行多執行緒的程式是非常耗資源的,為了節約資源,symbian提供了乙個活動服務物件的框架,允許把程式裡併發執行物件 其實不是併...

整理 symbian中活動物件的簡單使用

symbian官方推薦使用活動服務物件 cactive 來代替多執行緒的使用,我想這個道理是很明了的,在手機這樣的小記憶體裝置裡,執行多執行緒的程式是非常耗資源的,為了節約資源,symbian提供了乙個活動服務物件的框架,允許把程式裡併發執行物件 其實不是併發,不過巨集觀上看來是 放在乙個執行緒裡面...