Jaka jest maksymalna ilość pamięci RAM, z której aplikacja może korzystać?

Jestem bardzo ciekawa tego pytania dotyczącegozarządzanie pamięcią systemu operacyjnego Android więc mam nadzieję na dość szczegółową odpowiedź na ten temat.

Co chciałbym wiedzieć:

Co to jestmaksymalna ilość pamięci (wmegabajty / tak jakodsetek całkowitej pamięci RAM), z której może korzystać aplikacja Android (która nie jest aplikacją systemową)?Czy są jakieś różnice międzyWersje Androida?Czy są jakieś różnice dotycząceproducent urządzenia?

I co najważniejsze:

Co jest uważany /od czego to zależy jeśli chodzi o system określający, ile pamięci RAM może używać aplikacja w czasie wykonywania (zakładając, że maksymalna ilość pamięci na aplikację nie jest liczbą statyczną)?

Co do tej pory słyszałem (do 2013 r.):

Wczesne urządzenia z Androidem miały limit na aplikację wynoszący 16 MBPóźniej ten limit wzrósł do 24 MB lub 32 MB

Co mnie bardzo ciekawi:

Oba te limity są bardzo niskie.

Niedawno pobrałem plikMenedżer zadań systemu Android sprawdzić pamięć RAM moich urządzeń. Zauważyłem, że istnieją aplikacje używające około 40-50 megabajtów pamięci RAM, co jest znacznie więcej niż wspomniane maksymalne wykorzystanie pamięci RAM, powiedzmy, 32 MB. W jaki sposób system Android określa, ile pamięci RAM może wykorzystać aplikacja? Jak to możliwe, że aplikacje przekraczają ten limit?

Ponadto zauważyłem, że niektóre aplikacje awarii kopalni (zabite przez system?) Za pomocąOutOfMemoryException przy użyciu około 30-40 megabajtów. Z drugiej strony, mam uruchomione aplikacje na moim telefonie100 MB i więcej po pewnym czasie (prawdopodobnie z powodu wycieków pamięci), które nie ulegają awarii lub nie zostają zabite. Więcoczywiście zależy to również od samej aplikacji jeśli chodzi o określenie, ile pamięci RAM można oszczędzić. Jak to jest możliwe? (Przeprowadziłem testy z HTC One S z 768 MB pamięci RAM)

Zastrzeżenie: NIE jestem w żaden sposób związany z aplikacją Android Task Manager.

questionAnswers(3)

yourAnswerToTheQuestion