It's a shortcoming of the graphics engine, complicated by
the relative lack of memory and the trickiness with
managing what little it has. The implementation in WebKit
for GIF support allocates a 32 bpp bitmap for each
frame, which can chew through memory very quickly. The
bitmap allocator is backed by ashmem, but when the
kernel detects low memory, it tends to kill the process
rather than giving it a chance to back off.
If you have expertise in this area, we'd gladly accept
your help in fixing this.