Обнуление ссылок

This commit is contained in:
Victor 2015-04-14 19:14:54 +03:00
parent 5645d37c6c
commit 89e06f36e6
2 changed files with 15 additions and 1 deletions

View File

@ -86,6 +86,7 @@ public final class Lexer {
}
tokenize('\0');// EOF
addToken(TokenType.EOF, false);
input = null;
return this;
}

View File

@ -117,6 +117,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
Parser.parse(Lexer.tokenize( IOUtil.readContents(stream) ));
Parser.getInstance().next();
stream = null;
} catch (Exception ex) {
final String message = "Ошибка при открытии файла " + scriptpath;
Logger.log(message, ex);
@ -129,6 +130,8 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
protected void onPause() {
stopMusic(NO_FADE);
stopSound(NO_FADE);
safeClearImageView(background);
spritesClear();
super.onPause();
}
@ -192,6 +195,9 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
public void spritesClear() {
container.removeAllViews();
for (ImageView iv : spriteInContainer.values()) {
safeClearImageView(iv);
}
spriteInContainer.clear();
}
@ -219,8 +225,9 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
public void hideSprite(String whoid) {
if (!spriteInContainer.containsKey(whoid)) return;
final ImageView img = spriteInContainer.get(whoid);
spriteInContainer.remove(img);
container.removeView(img);
spriteInContainer.remove(img);
safeClearImageView(img);
}
@SuppressLint("RtlHardcoded")
@ -363,6 +370,12 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
soundPlayer = null;
}
private static void safeClearImageView(ImageView iv) {
if (iv == null) return;
iv.setImageDrawable(null);
iv = null;
}
private final Runnable nextCommandRunnable = new Runnable() {
@Override
public void run() {