2012-01-31 24 views

回答

9

從技術上講,NDK沒有限制。 Someone問了一會兒,被提到this android-ndk Groups thread。一個培訓相關報價:

「也考慮到這是NDK列表,限制實際上是 不是強加給你,因爲它只對Java堆有上 分配沒有限制在本地堆。 ......」

戴安娜Hackborn

她不會去說,它不應該被濫用,如果它是不是應用可以被殺死。

+0

在Android O上,內存使用情況似乎有所變化:我認爲Bitmaps存儲在本機內存中。你將如何處理它?例如,你會如何決定mem-cache的大小?我在這裏詢問了這個問題:https://stackoverflow.com/q/48091403/878126 – 2018-01-04 09:09:11

2

有沒有簡單的答案,你可以使用盡可能多的內存作爲設備,減去它用於其他程序的內容。當Android認爲內存不足時,它會開始殺死後臺任務,因此這是一個軟限制。大多數設備沒有交換空間。你可以通過android.app.ActivityManager.MemoryInfo從Dalvik裏面獲得有關設備內存的統計信息(我假設有一個NDK等價物)。

1

adb shell dumpsys meminfo PACKAGENAME會給你的應用程序的本地和dalvik內存使用情況。

相關問題