0

我正在开发一个需要打字机动画的应用程序,我在互联网上找到了一些可以产生打字机效果的代码片段,但我注意到当我连续运行该应用程序时,打字机效果变慢了。我知道这是因为 typeWriter 效果中使用了 postDelay 方法。请帮助我如何在使用 postDelay 时管理内存。

这是我用于 typeWriter 效果的代码

private Handler mHandler = new Handler();
private Runnable characterAdder = new Runnable() {
@Override
public void run() {
    tv.setText(mText.subSequence(0, mIndex++));
    if(mIndex <= mText.length()) {
    mHandler.postDelayed(characterAdder, mDelay);
    }
}
};

public void animateText(CharSequence text) {
mText = text;
mIndex = 0;

tv.setText("");
mHandler.removeCallbacks(characterAdder);
mHandler.postDelayed(characterAdder, mDelay);
}

public void setCharacterDelay(long millis) {
     mDelay = millis;
}
4

0 回答 0