How to send large Base64 data to NavController in Ionic 2/3?

I am trying to send Base64 data as string to another page using NavController using below code:

  ConvertHTMLToPDF = () => {
    let htmlGrid = document.getElementById('customContent');
    const options = {background: "white", height: htmlGrid.clientHeight, width: htmlGrid.clientWidth};
    html2canvas(htmlGrid, options).then((canvas) => {
      let doc = new jsPDF("p", "mm", "a4");
      let imgData = canvas.toDataURL("image/PNG");
      //Add image Canvas to PDF
      doc.addImage(imgData, 'PNG', 20, 20);

      let pdfData = doc.output('datauri');
      let obj = {PDFSrc: pdfData};
      this.navCtrl.setRoot('SaveConsentLetterPage', obj);

This is perfectly working when the Base64 data is small in size like 3Kb or 4Kb. But, when the data is like 1.2Mb, the NavController can redirect to SaveConsentLetterPage. It crashes the application.

Why is that? Is there any limit to send data with setRoot to another page in Ionic 2/3?