所以, 我有一个介于 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>
有人建议我做错了什么\如何改进?
尝试安装Cordova wkWebview Engine
,它优化了iOS性能问题:
安装说明
确保安装了最新的 Cordova CLI:(可能需要 Sudo(
npm install cordova -g
确保已添加 ios 平台:
ionic cordova platform ls
如果未列出 iOS 平台,请运行以下命令:
ionic cordova platform add ios
如果已安装 iOS 平台,但版本<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
验证WKWebView是否已安装在iOS上的一种简单方法是检查window.indexedDB是否存在。例如:
if (window.indexedDB) {
console.log("I'm in WKWebView!");
} else {
console.log("I'm in UIWebView");
}
所需权限
WKWebView 可能无法完全启动(设备就绪事件可能不会触发(,除非 config.xml 中包含以下内容:
配置.xml
<allow-navigation href="http://localhost:8080/*"/>
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
在这里找到完整的说明