Android和Qt-Extended在設計方法上的共通之處

來源:互聯網
上載者:User

本站所有文章由本站和原作者保留一切權力,僅在保留本著作權資訊、原文連結、原文作者的情況下允許轉載,轉載請勿刪改原文內容, 並不得用於商業用途。 謝謝合作。

原文連結:Android和Qt-Extended在設計方法上的共通之處

目前Qt-Extended停止開發,但是Nokia準備開發新的Qt-Mobility作為其替代工具,相信Qt-Extended中很多優秀的設計理念還是會被繼承下來。期待在Qt在Nokia中會有更好的表現

Android和Qt-Extended作為新型的手機開發平台,都致力於將開發人員將注意力集中於軟體功能的實現,而不用花很大的精力在系統資源的管理上。這是和symbian平台最大的區別,設計symbian的那個年代,記憶體/cpu都是稀缺資源,所以要求開發人員不僅要設計軟體架構,還要隨時準備處理記憶體不夠的情況。隨著硬體效能的大力提升,Nokia有意於將Qt替代symbian,也算是順勢而為。

Android和Qt-Extended雖然都用了一些不同的術語去描訴這些設計方法,但在本質上是相通的,那麼我們來看一看他們的對應關係。

應用設定檔 AndroidManifest.xml VS appname.desktop
雖然Android裡不再將一個啟動並執行程式叫應用,叫activity,不過用應用來理解應該問題也不大。 AndroidManifest.xml是用於該應用怎麼啟動,以及對應的資源管理等。而Qt-extended裡是用appname.desktop完成相應的功能,appname根據應用程式名稱不同而不同。應用啟動的Launcher正是通過.desktop檔案找到對應的二進位代碼進而啟動進程的。

外部服務介面 IntentFilter VS Service
外部服務的介面實現如下功能,比如當前頁面裡看到一個音頻檔案的連結,在使用者點選連結的時候,會調用外部服務程式去實現該功能,但是當前應用的設計者是不知道系統的哪一個應用來完成這個功能的,只能發出一個類似播放音頻這樣的請求,由系統決定由哪個應用來執行這個播放功能,這樣設計的好處是系統的組件能夠更容易被替換。Android中用Intent和IntentFilter來實現該功能。而Qt-Extended用Service來實現。

應用生命週期 activity manager VS MemoryManager
在記憶體空間不夠的情況下,系統要求做出反應關閉一些不需要的應用。Android 利用Activity 管理器根據acitivity 的不同狀態決定關閉哪些應用。而Qt-Extended則是利用啟動服務進程裡的MemoryManager來監視記憶體狀態,進行應用管理的。

後台應用 Service VS QCop 訊息
後台應用指的是根據系統需要運行一些不需要GUI的應用,比如網路下載,音樂播放什麼的。Android通過啟動Service完成這個功能,而Qt-Extended則可以通過QCop向系統發出啟動某個引用的請求,比如撥號,下載等。

廣播服務 BroadcastReceiver VS RegisterQCopChannel
廣播服務是指系統發生某種狀態變化時希望大部分應用做出對應響應時而使用的廣播動作。比如電池電量低,外部裝置如usb等接入時。Android使用BroadcastReceiver去接收系統通知,進而由其他activity或者service做出具體響應。Qt-Extended的設計則有一點不一樣,在外部狀態發生變化時,會向系統的某一qcop 通道發送訊息,如果對該通道上的訊息感興趣,則可以在該通道上註冊偵聽,能夠及時對此做出響應。

本文是基於平台架構上的一個對比,主要是Android VS Qt-extended 。而針對基本軟體代碼上的設計不同,比如視圖資料模式,觀察者模式等,則可以期待下一篇文章 Android VS Qt.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.