На самом деле я знаю, что спрашиваю о простой и базовой концепции Android. Но я немного запутался в этих finish()
и onDestroy()
методах.
Убьет ли это действие и освободит ли ресурсы, связанные с этим действием?
Я пробовал с простым приложением, которое содержит только одно действие. Я думал, что концепция, как когда приложение запускается, активность начнется. и когда мы нажмем на кнопку «Назад», это закончится. И я дал несколько тостовых сообщений в каждом методе жизненного цикла за знание использования памяти. И когда я нажал на кнопку «Назад», он выполнил onPause()
, onStop()
и onDestroy()
. Я думал, что это действие закончено. Но когда я снова запустил приложение, тогда это заняло больше памяти, чем в прошлый раз. Это происходит каждый раз, когда я запускаю приложение из затмения или перезапускаю приложение с домашнего экрана.
Почему это происходит? Как я могу на самом деле уничтожить приложение / деятельность, чтобы освободить память?
Я включаю свой код. Я просто даю только одно тостовое сообщение внутри класса. Затем также увеличивается использование памяти.
Каждый раз, когда я запускаю приложение, выделенный размер увеличивается как: 3302744, 3442384, 3474552
public class myActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Toast.makeText(getBaseContext()," allocated size = " + Debug.getNativeHeapAllocatedSize(), 1).show();
}
}
манифест:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".myActivity "
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Почему память увеличивается каждый раз?