Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic framework 如何在ionic 3中禁用视图缓存_Ionic Framework_Ionic3 - Fatal编程技术网

Ionic framework 如何在ionic 3中禁用视图缓存

Ionic framework 如何在ionic 3中禁用视图缓存,ionic-framework,ionic3,Ionic Framework,Ionic3,我们在d3js中使用离子3。我们在每个组件中都有很多d3.js转换(我们认为这需要很多内存)。 最初,应用程序对导航和内容呈现的响应很快,但导航5-10页后,应用程序的响应速度会变慢。我们看到页面导航和内容呈现的滞后。 我们认为这是因为图标3中的视图缓存(不确定图标3中是否启用了视图缓存) 当用户点击导航按钮时,我们按下或弹出导航控制器。 有没有办法禁用视图缓存,这样无论用户在视图之间导航多少次,应用程序性能都是相同的 “@IONAL/app脚本”:“3.1.9”, “@ionic native

我们在d3js中使用离子3。我们在每个组件中都有很多d3.js转换(我们认为这需要很多内存)。 最初,应用程序对导航和内容呈现的响应很快,但导航5-10页后,应用程序的响应速度会变慢。我们看到页面导航和内容呈现的滞后。 我们认为这是因为图标3中的视图缓存(不确定图标3中是否启用了视图缓存)

当用户点击导航按钮时,我们按下或弹出导航控制器。 有没有办法禁用视图缓存,这样无论用户在视图之间导航多少次,应用程序性能都是相同的

“@IONAL/app脚本”:“3.1.9”, “@ionic native/core”:“4.7.0”

主页和图形页面之间的示例代码

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
  constructor(public navCtrl: NavController) {
    console.log('construct again');
  }

  showMigrationChart() {
    this.navCtrl.push(MigrationChart);
  }

  showColumnChart() {
    this.navCtrl.push(ColumnChart);
  }
}


@Component({
  selector: 'migration-chart',
  templateUrl: '../../common/chart.html'
})
export class MigrationChart implements OnInit {
  @ViewChild('appChart') private chartContainer: ElementRef;
  public chartName = 'Column Chart';

  constructor(public navCtrl: NavController) {
    console.log('MigrationChart construct again');
  }

  ngOnInit() {
    this.chartName = migrationEngine(this.chartContainer.nativeElement);
  }

  public onBackClick() {
    console.log('getViews length= '+ this.navCtrl.length());
    console.log('getViews = ', this.navCtrl.getViews());
    this.navCtrl.pop();
  }
}

离子骨架没有问题。 在页面/组件关闭时,javascript计时器和while循环并没有得到适当的清理,这导致应用程序速度减慢。
我们更改了代码以在Ngondestory中进行清理,现在一切正常。

是否尝试更改根页面而不是push/pop?尝试并比较结果。angulars github上肯定有类似您的已知问题:/