Это примерно POST-сотовая (т.е. Android 3.0+), а приведенные ниже цитаты взяты из https://developer.android.com/reference/android/app/Activity.html
В соответствии с жизненным циклом onStop и onDestroy являются гибкими, это означает:
Обратите внимание на столбец "Killable" в приведенной выше таблице - для этих методов которые отмечены как подлежащие уничтожению, после того, как этот метод возвращает процесс хостинга активности может быть убит системой в любое время без выполнения другой строки своего кода
-
Другими словами, onStop (наряду с другими, которые происходят перед этим событием) гарантируется для вызова, но в тот момент, когда метод возвращается, процесс может умереть, поэтому onDestroy не гарантируется.
Другая цитата гласит:
Для тех методов, которые не отмечены как подлежащие уничтожению, процесс активности не будет уничтожен системой, начиная с время, когда метод вызывается и продолжается после его возвращения.
Далее
Таким образом, активность находится в состоянии killable, например, между onPause() в начало onResume().
-
Но это означает, что не соответствует тому, что было сказано выше, , если это соответствует только PRE-honeycomb. Это не относится к POST-сотовой, правильно? Таким образом, в принципе, как onPause, так и onStop гарантированно будут называться.
-
Предполагая, что я освобожу только ресурс в onDestroy, это может привести к возможной утечке, поскольку onDestroy не может быть вызван, правильно?
-
Однако, может ли этот сценарий (т.е. onDestroy не вызываться) встречаться помимо, когда процесс уничтожается самим андроидом? Существуют ли другие сценарии, которые вызывают onDestroy не называться, , тем самым утечка ресурса.
-
Правда ли, что, когда Android уничтожит процесс, который будет уничтожен ресурсами, и утечка не может произойти (даже если мы явно не выпустили ресурс?).
Просьба представить подробную информацию о том, являются ли эти утверждения (1) (2) (3) (4) (5) правильными или нет.