mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
eSpeakActivity: use a weak reference in the Handler to avoid memory leaks
This commit is contained in:
+3
-3
@@ -46,9 +46,9 @@ libespeak.so*
|
||||
# programs
|
||||
|
||||
platforms/*/espeak-phoneme-data
|
||||
espeak
|
||||
espeakedit
|
||||
speak
|
||||
src/espeak
|
||||
src/espeakedit
|
||||
src/speak
|
||||
|
||||
# Linux/Source distribution files
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import android.speech.tts.TextToSpeech;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class eSpeakActivity extends Activity {
|
||||
@@ -277,16 +278,24 @@ public class eSpeakActivity extends Activity {
|
||||
}
|
||||
};
|
||||
|
||||
private final Handler mHandler = new Handler() {
|
||||
@Override
|
||||
private static class EspeakHandler extends Handler {
|
||||
private WeakReference<eSpeakActivity> mActivity;
|
||||
|
||||
public EspeakHandler(eSpeakActivity activity)
|
||||
{
|
||||
mActivity = new WeakReference<eSpeakActivity>(activity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
switch (msg.what) {
|
||||
case TTS_INITIALIZED:
|
||||
onInitialized(msg.arg1);
|
||||
mActivity.get().onInitialized(msg.arg1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
private final Handler mHandler = new EspeakHandler(this);
|
||||
|
||||
private final View.OnClickListener mOnClickListener = new View.OnClickListener() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user