低スペック端末における問題

低スペック端末でアプリを動作させた際に一番問題となるのはメモリ不足である。特にAndroidの低スペックな端末におけるメモリ不足は深刻だ。

iOSでは低スペック端末であってもアプリケーション内で百数十MBは確保できるが、Androidでは30MB程度しか確保することができない端末もある。これはOSのメモリ管理の仕組みの違いによるところが大きく、iOSではOSで管理しているメモリに空きがある限り確保できるのに対し、Androidでは予めプロセスに割り当てられたメモリ量までしか確保できない。

このため、低スペックなAndroid端末ではメモリ不足によりアプリが強制終了してしまう、という事象がしばし発生する。

もう一点、Androidアプリにおいてメモリ不足が起きやすい要因として、Dalvik VMのGC特性についても挙げておく。一般的なJava VMと比べると、Dalvik VMではメモリが解放されにくい傾向にあるようだ。