我对我正在制作的Titanium应用程序有多长时间存在问题 需要加载ScrollView。
Titanium SDK:3.3.0.GA
我决定进行测试,比较钛金属应用需要多长时间 加载类似的视图和本机构建的版本(iOS)。
测试是将1000个文本字段加载到ScrollView中。
对于本机构建的应用程序,加载大约需要0.850秒 在iPad mini上(基于3次试验)。
对于钛制应用程序,加载大约需要59.3秒 在同一台iPad mini上(基于3次试验)。
显然,这是一个显着的差异。我的代码 钛的构建如下。有什么我想念的吗?一些选择 让ScrollView变得如此之慢? 与0.850相比,59秒非常重要。
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();
注意:我知道Titanium的ListView,但是,根据我的实验,看起来它不会赢得 我正在制作的应用程序工作得很好,因为我需要我的各种组件之间的交互和改变的能力 他们基于这种互动。 (例如,有一个开关,在关闭时,会 清除附近的文本字段,或用一些文本填充它。 ListViews似乎在更新这样的视图时非常慢。如果我错了,请告诉我。)
进一步注意:我尝试在钛sdk 3.2.3上运行相同的测试,在相同的iPad mini上花了大约6秒而不是59秒。但是,在我正在制作的应用程序中,scrollview实际上需要更长时间才能加载。 感谢
答案 0 :(得分:0)
在移动应用程序开发。您始终记得使用低内存或需要始终清除未使用的内存。
在这里,您一次添加大约1000个textView。这就是原因。你的应用程序进展缓慢
请尝试此参考。在这个例子中。滚动表格视图时,它会添加下一行。这将根据您的显示逐个添加。