Exactly, what's the point of memory management if it doesn't manage all possible needs? ;-)
I'd imagine a configuration parameter telling the memory management to start de-fragmenting memory as soon as a certain threshold is crossed, so that at any time when a camera-app or some other driver requests a chunk of contiguous memory, the request can quickly be satisfied. If the total amount of memory is insufficient for the normal workload and the newly started program with a need for contiguous memory isn't feasible, something can be done about it at that time.
I think that insufficient memory is a concept that users can understand, while insufficient contiguous memory is a lot harder to grasp. It's the job of the kernel to solve it for the user.