2012-08-09 75 views
0

在Android中,它允許每個應用程序使用大約16Mb RAM。我想問,我開始在後臺運行一項新服務。我可以在這項服務中使用另一個16Mb RAM嗎?後臺服務是新進程?

謝謝。

回答

0

如果僅在服務中使用16MB,則可能會出現OutOfMemory異常。因爲這些活動也需要一些內存。 堆大小是允許應用程序使用的。你不能超越那個。任何服務都將成爲該應用程序的一部分,甚至在後臺運行。

+0

您可以使用它來獲取設備的堆大小。
long heap = Runtime.getRuntime()。maxMemory(); int mega = 1024 * 1024; Log.d(「TAG」,「Heap size is」+ heap/mega +「MB」); – 2012-08-10 00:45:56

0

在Android中,它允許每個應用程序使用大約16Mb的RAM

的可用的進程堆空間的量由Android版本和設備配置而變化。目前使用的大多數設備都有超過16MB的可用空間。

我想問,我開始一個新的服務在後臺運行。我可以在這項服務中使用另一個16Mb RAM嗎?

默認情況下,該服務與您的應用中的其他組件位於相同的進程中,因此將共享相同的堆。