onCreate()যখন একটিভিটির প্রথম লাইফসাইকেল কলব্যাক হয়, onDestroy()টা তখন শেষ কলব্যাক হয় । সিস্টেমটি ফাইনাল সিগন্যাল হিসাবে আপনার একটিভিটির উপর এই পদ্ধতি কল করে যা আপনার একটিভিটি ইনসট্যান্সকে সম্পূর্নরূপে সিস্টেম মেমরি থেকে সরিয়ে ফেলে।
অধিকাংশ অ্যাপস এর এই পদ্ধতি বাস্তবায়ন করার দরকার নেই কারন লোকাল ক্লাস রেফারেন্স একটিভিটির সাথে বিলোপ হয়ে যায় এবং onPause()এবং onStop()এর সময় আপনার একটিভিটির সবচেয়ে পরিষ্কার করা উচিত। যাহোক যদি আপনার একটিভিটি ব্যাকগ্রাউন্ড থ্রেড অন্তর্ভূক্ত করে থাকে যা আপনি onCreate() অথবা অন্য লংরানিং রিসোর্স এর সময় তৈরী করেছেন যা মেমরিকে বের করে দিতে পারে (leak) যদি না তা যথাযথভাবে বন্ধ করা হয়, onDestroy() এর সময় আপনার এগুলোকে ধ্বংস করা উচিত।
@Override
public void onDestroy() {
super.onDestroy(); // Always call the superclass
// Stop method tracing that the activity started during onCreate()
android.os.Debug.stopMethodTracing();
}
নোট: সিস্টেমটি ইতিমধ্যে onPause()এবং onStop()কে কল করার পর onDestroy()কে সব সময় কল করে একটা ব্যতীক্রম ছাড়া: যখন আপনি onCreate()পদ্ধতির মধ্যে থেকে finish()কে কল করবেন। কিছু কিছু ক্ষেত্রে যখন আপনার একটিভিটি আরেকটি একটিভিটি লঞ্চ করতে অস্থায়ী সিদ্ধান্ত গ্রহণকারী হিসাবে কাজ পরিচালনা করে, আপনি একটিভিটি বিলোপ (destroy) করতে onCreate()এর মধ্যে থেকে finish() কে কল করতে পারেন। এই ক্ষেত্রে সিস্টেমটি অন্য কোন লাইফসাইকেল পদ্ধতি গ্রহণ না করে তাৎক্ষনিকভাবে onDestroy()কে কল করে।