2012-04-19 50 views
0

我在Android 2.2平臺上編程圖像分割算法。運行以下代碼行時:在Android平臺上編程時內存不足

double[][] temp=new double[328][576]; 

存在內存不足異常。

但是,我用的是ActivityMannager.getMemoryInfo()來檢查系統上的可用內存空間,我覺得還是有44851200個字節的自由空間。

我感到困惑的是爲什麼會出現內存溢出異常與系統上仍然是免費的空間?

+0

嘗試在應用程序中使用'短壽命變量弱reference' – 2012-04-19 20:26:08

+1

'ActivityMannager.getMemoryInfo()'告訴你可用內存爲*設備*,不只是你的過程。 – CommonsWare 2012-04-19 20:28:22

回答

7

Android有存儲器分配的限制每個過程/應用程序。您只能在手機上使用整個可用內存。根據設備的不同,每個進程的最大內存使用量都有限制。這link可能會幫助你。