iOS Memory Limit - nodeca/pica GitHub Wiki

iOS has a memory limit set to device-memory /4.

This may cause issues if you load large images into a canvas, or perform memory intensive operations within the canvas element — and if you run into that restriction there isn't much this library can do about it.

That said, Pica has been designed to limit memory usage during resize, by breaking up the operation in smaller chunks. So we think it's well-positioned to make the most of the memory available when running on iOS.

Pica is used by many apps specifically for image resize on iOS devices.

More details: https://bugs.webkit.org/show_bug.cgi?id=187279

These two blog posts also explain canvas memory limitations on iOS in more detail:

https://pqina.nl/blog/canvas-area-exceeds-the-maximum-limit/

https://pqina.nl/blog/total-canvas-memory-use-exceeds-the-maximum-limit/