概要 Angularの文脈でアプリを高速化するとは、ほぼChange Detectionまわりの最適化を行うことだと思われます。適切にChangeDetectionStrategy.OnPushを設定するのは当たり前ですね。他に、個人的にやってみて特に体感的に速くなったなーってのが、イベントなどから無駄なChange Detectionを走らせないようにすることです。 Change Detectionが走っているかどうかはNgZone#onMicrotaskEmptyから確認できます。 export class App { constructor(zone: NgZone) { zone.onMicrotaskEmpty.subscribe(() => { console.log('detect change'); }); } } 明らかにおかしな回数呼ばれている場合は、どこかで無駄打ちし
![Angularでイベントから無駄にChange Detectionを走らせないためにすべきこと - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/878f7f421da06a97baffc6af01b190fc2ede1cb5/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9QW5ndWxhciVFMyU4MSVBNyVFMyU4MiVBNCVFMyU4MyU5OSVFMyU4MyVCMyVFMyU4MyU4OCVFMyU4MSU4QiVFMyU4MiU4OSVFNyU4NCVBMSVFOSVBNyU4NCVFMyU4MSVBQkNoYW5nZSUyMERldGVjdGlvbiVFMyU4MiU5MiVFOCVCNSVCMCVFMyU4MiU4OSVFMyU4MSU5QiVFMyU4MSVBQSVFMyU4MSU4NCVFMyU4MSU5RiVFMyU4MiU4MSVFMyU4MSVBQiVFMyU4MSU5OSVFMyU4MSVCOSVFMyU4MSU4RCVFMyU4MSU5MyVFMyU4MSVBOCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9Y2Q5ODU4YzRhOTkxMWVmMmIzMzk2YjBkNGI4YTdjNWY%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB1a3lvJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1mN2M4NGVmNGVjMDU3ZmNmZDE4ZDE3M2QxODljYjU2ZA%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-V0FDVUw%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3Daa555ce80fff6dc4ed35ab927f704ea0)