2012-03-02 100 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