IONIC - VirtualScroll性能问题

时间:2017-08-14 18:31:30

标签: angular ionic-framework ionic2

所以, 我有一个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> 

任何人都建议我做错了什么?如何改善?

1 个答案:

答案 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" />

此处找到Complete Instructions