我遇到一些问题,我在制作一个Titanium应用程序需要多长时间才能加载ScrollView。Titanium:ScrollView加载缓慢
钛SDK:3.3.0.GA
我决定运行测试,比较会多长时间,钛的应用 加载了类似的观点,以及原生内置版本(IOS)。
测试将1000个文本字段加载到ScrollView中。
对于本机构建的应用程序,在iPad mini上(基于3项试验)加载 需要大约0.850秒的时间。
对于钛构建的应用程序,花费大约59.3秒在相同的iPad mini上(基于3次试验)加载 。
显然,这是一个显着的差异。我的代码为 Titanium版本如下。有什么我失踪?一些选项, 正在使ScrollView如此缓慢? 59秒相比,0.850是相当重要的。
INDEX.XML
<Alloy>
<Window class="container" >
<ScrollView id="scrollView" layout="vertical"></ScrollView>
</Window>
</Alloy>
index.tss
".container": {
backgroundColor:"white"
}
index.js
var startTime = new Date();
startTime = startTime.getTime()/1000;
$.index.addEventListener('postlayout', calculateTimeToLoad);
loadThousandTextFields();
function calculateTimeToLoad() {
$.index.removeEventListener('postlayout',calculateTimeToLoad);
var endTime = new Date();
endTime = endTime.getTime()/1000.0;
Ti.API.info("Total time taken:" + (endTime - startTime) + " seconds");
}
function loadThousandTextFields() {
for(var i = 0; i < 1000; i++) {
$.scrollView.add(Ti.UI.createTextField({
hintText: "Hint text"
}));
}
}
$.index.open();
注:我知道钛的ListView控件,但是,根据我的实验与它,它看起来不会 与我正在制作的应用程序太好,因为我需要互动之间包括我的各种组件以及根据这种互动改变它们的能力。 (例如,有一个开关,在关闭时, 会清除附近的文本字段,或者填充一些文本。在更新视图时,ListView似乎很慢,如果我错了,请告诉我)。
进一步的注意事项:我试着在钛sdk 3.2.3上运行同样的测试,而在同样的iPad mini上花了大约6秒而不是59。但是,在我制作的应用程序中,scrollview实际上需要更长时间才能加载。 谢谢
在我的结尾花了0.966秒。我只是复制你的代码。 – Dragon 2014-09-04 04:14:07
@Dragon你测试过什么设备?它是否在模拟器上,如果有,计算机的规格是什么?当我尝试在Mac mini上模拟iPhone Retina(3.5英寸)时,大约需要7.5秒 – Vafilor 2014-09-08 16:35:51