OnDestroy () ou finish () realmente mata a atividade?
Na verdade eu sei que estou perguntando sobre o conceito simples e básico do Android. Mas estou um pouco confuso sobre essesfinish()
eonDestroy()
métodos. Se isso eliminará a atividade e liberará os recursos associados a ela?
Eu tentei com um aplicativo simples que contém apenas uma atividade. Eu pensei que o conceito era assim: Quando o aplicativo é executado, a atividade inicia. e quando clicarmos no botão voltar, ele terminará. E dei uma mensagem de brinde dentro de cada método de ciclo de vida para conhecer o uso da memória. E quando eu cliquei no botão voltar, ele executouonPause()
, onStop()
eonDestroy()
. Eu pensei que essa atividade terminasse. Mas quando reiniciei o aplicativo novamente, foi preciso mais memória do que no tempo anterior. Isso acontece sempre que executo o aplicativo no eclipse ou reinicio o aplicativo na tela inicia
Por que isso está acontecendo? Como posso realmente destruir o aplicativo / atividade para liberar a memória?
Estou incluindo meu código. Eu apenas dou apenas uma mensagem de brinde dentro da classe. Além disso, o uso de memória está aumentando.
Cada vez que executo o aplicativo, o tamanho alocado está aumentando como: 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();
}
}
manifesto
<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>
Por que a memória aumenta sempre?