原生代码是如何在is中生成的??我已经在互联网上阅读了文档,从中我只能了解高层次的架构,但我需要更多关于深入工作的细节。例如。当我们使用Ti.UI.createButton()在Titanium中创建一个按钮时,这是如何与本机代码绑定的,以及如何获得与使用本机代码相同的按钮。
是创建并返回UIButton对象(仅指iOS)还是执行流程不同?另外,为了更好地理解,我应该在本机代码中的什么地方查找?
发布于 2012-09-06 21:01:48
首先,每个平台的工作方式是不同的,所以不可能有效地推广,因为平台是如此具体。
对于iOS,钛使用称为KrollObject的本机桥接包装器对象。这些代理对象在原生代码中形成了从Javascript对象到原生对象的桥梁。对于您的UIButton用例,UIButton会被创建,但不会返回给Javascript,您可以通过Kroll桥来控制它。(顺便说一句,Kroll是提炼钛的过程,双关语)。
你真的不需要知道它是如何编写模块的真正的内在细节,特别是因为它需要大量的本机平台知识(在这种情况下,你没有理由使用钛)。
Here is a great video on how it all works from the last Codestrong.如果你真的想知道垃圾收集和对象的生命周期是如何工作的,请学习这个视频。
https://stackoverflow.com/questions/12293460
复制相似问题