제가 만든 class 에서 onDestroy() 에 메모리 할당된 것들을 리셋하는 코드를 넣었는데.
실행이 안되는 것 가틋ㅂ니다.


아래에서 onDestroy() 가 실행되게 하려면 어떻게 선언을 해야 할까요?
상속 받은 객체가 아니라서, @override 도 안되구.... 어떻게 해야..

onDestroy() 가 실행이 안되는 로그캣에
아래 같은 에러가 뜨는데..매우 무섭네요 ^^;  has leaked 메모리 누수라는 얘기 같은데....헐....

08-26 01:30:03.074: ERROR/ActivityThread(13879): Activity pkg.MyTTS.MyTTSinActivity has leaked ServiceConnection android.speech.tts.TextToSpeech$1@44910378 that was originally bound here
08-26 01:30:03.074: ERROR/ActivityThread(13879): android.app.ServiceConnectionLeaked: Activity pkg.MyTTS.MyTTSinActivity has leaked ServiceConnection android.speech.tts.TextToSpeech$1@44910378 that was originally bound here

더구나..
디비를 안닫고 종료한다는 에러도....

08-26 01:30:11.564: ERROR/Cursor(13879): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/pkg.MyTTS/databases/TTS.db, table = null, query = SELECT * FROM MyTable
08-26 01:30:11.564: ERROR/Cursor(13879): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here


어떻게 해야.. 위의 has leaked 에러를 없앨 수 있을까요?

public class MyTTS {
  
  static SQLiteDatabase DB = null; 
  static Cursor WordTbl = null;
  
  private static TextToSpeech mTts;
  
  public static void onDestroy() {
      if (mTts != null) {            
       mTts.stop();            
       mTts.shutdown();        
      }    
      if (WordTbl != null) {
       WordTbl.close();
       WordTbl = null;
      }
      if (DB != null) {
       DB.close();
       DB = null;
      }
  }
 ..............
}