所以, 我有一个0到2500之间的项目数组。
我试图使用virtualscroll选项(因为这是我读过来处理大型数组)来改善显示\滚动大约1300个项目时的恶魔性能问题。
所以我已经完成了以下操作,但仍然很痛苦,可能会在滚动时崩溃。
<ion-list [virtualScroll]="results" approxItemWidth="100%" approxItemHeight="45px" bufferRatio=60>
<button ion-item *virtualItem="let result" (click)="goToClient(result)">
{{result.FirstName}} {{result.LastName}}
</button>
</ion-list>
任何人都建议我做错了什么?如何改善?
答案 0 :(得分:0)
尝试安装Cordova wkWebview Engine
,它会优化iOS性能问题:
安装说明
确保安装了最新的Cordova CLI :(可能需要Sudo)
npm install cordova -g
确保已添加ios平台:
ionic cordova platform ls
如果未列出iOS平台,请运行以下命令:
ionic cordova platform add ios
如果安装了iOS平台,但版本是&lt; 4.x,运行以下命令:
ionic cordova platform update ios
ionic cordova plugin save # creates backup of existing plugins
rm -rf ./plugins # delete plugins directory
ionic cordova prepare # re-install plugins compatible with cordova-ios 4.x
安装WKWebViewPlugin:
ionic cordova plugin add https://github.com/ionic-team/cordova-plugin-wkwebview-engine.git --save
注意:强>
如果您已经安装了apache / cordova-plugin-wkwebview-engine,请确保在使用此版本之前将其删除。
ionic cordova plugin rm cordova-plugin-wkwebview-engine
构建平台:
ionic cordova prepare
在iOS 9或10设备上测试应用:
ionic cordova run ios
验证是否已在iOS上安装WKWebView的简单方法是检查window.indexedDB是否存在。例如:
if (window.indexedDB) {
console.log("I'm in WKWebView!");
} else {
console.log("I'm in UIWebView");
}
所需权限
WKWebView可能无法完全启动(deviceready事件可能无法触发),除非config.xml中包含以下内容:
<强> config.xml中强>
<allow-navigation href="http://localhost:8080/*"/>
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />