몇분들이 말씀하셨듯이 각 디바이스의 힙사이즈의 차이때문입니다.
비트멥을 많이 다루는 앱을 만들때는 메모리를 아까기 위해 두가지 방법을 동시에 동원해야 합니다.
1) 우선 특정 비트멥이 더이상 필요없을때는 gc가 메모리를 회수할때까지 기다리는것보다 recycle() 을 불러줘서 최대한 빨리 메모리를 풀어줘야합니다. 한번 recycle을 부른 비트맵은 다시 decode하기 전에는 사용할수없으니 신중히 생각해봐야합니다.
2) 비트멥을 decode할때 필요한 사이즈에 맞춥니다. 예를 들어 32 x 32 짜리 섬네일에 사용할 비트멥을 800x800 으로 디코딩 해서 메모리를 낭비할 필요는 없겠죠.