The finish() kills the activity and releases memory... unless you have some reference stored that is leaked... for example on methods like onRetainNonConfigurationInstance()
When you press the back button what is called is the finish() method that than calls onPause, onStop, onDestroy.