我正在考虑开展一个项目,为Android 2.0(即Motorola Droid)创建一款iPhone虚拟机,在此之前,我有一些问题:
是否已经存在我错过的iPhone虚拟机?
Droid的Arm Cortex A8处理器时钟频率为550MHz(感谢维基百科),能否处理iPhone抽象层?
从性能方面考虑,最好使用C++编写应用程序,但出于系统健康考虑,将iPhone虚拟机置于Dalvik虚拟机之上是否更好?哪种方法更好,为什么?
我正在考虑开展一个项目,为Android 2.0(即Motorola Droid)创建一款iPhone虚拟机,在此之前,我有一些问题:
是否已经存在我错过的iPhone虚拟机?
Droid的Arm Cortex A8处理器时钟频率为550MHz(感谢维基百科),能否处理iPhone抽象层?
从性能方面考虑,最好使用C++编写应用程序,但出于系统健康考虑,将iPhone虚拟机置于Dalvik虚拟机之上是否更好?哪种方法更好,为什么?
有没有我错过的已经存在的东西?
没有。
Droid的Arm Cortex A8可以降频到550MHz(感谢维基百科),能处理iPhone吗?
不行,但是CPU并不是严格的问题。
从性能上讲,最好的方法是用C ++编写应用程序,但为了系统的健康,将iphone vm放在dalvik vm之上是否更好?哪种方法更好,为什么?
你可以构建一个在Android上通过Android NDK运行的Objective-C实现,但NDK库的系统访问受限,这意味着你不能在Objective-C中做很多事情。
你可以将Objective-C实现作为独立应用程序运行在rooted硬件上,因此可以访问更多的系统资源,但这样你几乎就不再运行Android了。
创建一个Objective-C实现,在Dalvik VM上运行,并具有类似于iPhone上本地Objective-C实现的性能是不可想象的。
请注意,我甚至没有讨论实现Cocoa库等内容,因为我不知道如何在合理的时间内避免侵犯版权而不会被起诉(参见:苹果公司诉Pystar案)。唯一避免这种情况的方法是进行完全的清洁室实现,而WINE的人会指出,他们已经尝试为Windows做了大约17年,但并未完全成功。