2012-03-02 82 views

回答

5

否 - 模型完全不同。簡單的C++程序是單線程的 - 它們儘可能快地完成他們在單個執行線程中所做的任何事情,並且如果他們必須等待或阻止從網絡中檢索數據等,那麼他們只需等待。他們被多任務操作系統給予時間片,當他們完成時他們就完成了。

在Android中,總有一個處理GUI交互的線程運行,並將結果傳遞到Activity實例中的「鉤子」。任何可能阻止GUI線程的東西都必須放到另一個線程中,然後回到Activity中的另一個方法。這是事件驅動的,而且你對對象生命週期等事物的控制或確定性很小。所以你需要以完全不同的方式進行編程。

作爲Android應用程序運行的某種模擬器原則上可以運行爲特定VM編譯的C++二進制文件。但據我所知,這樣一個應用程序不存在,工具鏈也不會產生這樣的二進制文件。谷歌也不贊成這樣的方法AFAIK。有完全成熟的電腦模擬器,但由於顯而易見的原因,他們主要是舊的8位懷舊fests :)

我是一個C++程序員誰最近參與了Android編程,我會推薦它。您將以與您習慣的單線程IFTT方式不同的方式來思考程序。

+0

+1非常好的解釋 – Wh1T3h4Ck5 2012-10-27 14:54:40