Titanium中的本机代码生成

时间:2012-09-06 05:24:51

标签: android titanium-modules

如何在Titanium中生成本机代码?我已经阅读了互联网上的文档,从中我只能理解高级架构,但我需要有关深入工作的更多细节。例如。当我们使用Ti.UI.createButton()在Titanium中创建一个按钮时,它如何与本机代码绑定,以及我们如何使用本机代码获得相同的按钮。

是否创建并返回了UIButton对象(仅在iOS上讨论)或执行流程不同?另外,我应该在哪里查看本机代码以便更好地理解?

1 个答案:

答案 0 :(得分:1)

首先,它的工作方式因每个平台而异,因此不可能有效地概括,因为平台非常具体。

对于iOS,Titanium使用称为 KrollObject 的本机桥包装器对象。这些代理对象构成了从Javascript对象到本机代码中的本机对象的桥梁。对于您的UIButton用例,UIButton已创建但未返回到Javascript,您可以通过Kroll桥控制它。 (作为旁注,Kroll是精炼钛材料的过程,惩罚)。

你真的不需要知道编写模块的真正内在细节,特别是因为它需要大量的原生平台知识(在这种情况下你没有理由使用钛)。

Here is a great video on how it all works from the last Codestrong.如果您真的想知道对象的垃圾收集和生命周期如何工作,请研究此视频。