作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我定义了一个 Runnable,它在单击按钮后启动,它每 1 秒更改一次 ImageView 的图像。在我的 View 中还有另一个按钮,当用户单击该按钮时,我再次启动该 Runnable,但这次它每 2 秒更改一次 ImageView 的图像,依此类推。
我的问题是:当我点击第二个按钮时,现在我必须运行单个线程还是它只是停止 Runnable 的第一个实例并启动另一个实例?
注意:我在 android 中阅读了一些关于线程和 Runnable 的主题,但我仍然不清楚它们之间的区别。还阅读这个问题及其答案让我听到问我自己的问题。 Java - Running a thread twice
抱歉英语不好。
我的代码的可运行部分:
private final Runnable mRunnable = new Runnable() {
public void run() {
if (mIsFlashOn) {
if (mSwap) {
mImageViewBeam.setVisibility(View.VISIBLE);
mSwap = false;
mHander.postDelayed(mRunnable, 10000 / ((mStrobeCounter * 5) + 10));
} else {
mImageViewBeam.setVisibility(View.GONE);
mSwap = true;
mHander.postDelayed(mRunnable, 10000 / ((mStrobeCounter * 5) + 10));
}
}
}
};
最佳答案
我认为你需要使用 mHandler.removeCallbacks(mRunnable);
这一行来删除第一个 runnable ,然后开始另一个
关于android - 在android中多次使用Runnable,它对内存有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36364089/
我有 json 数据: { "products": [ { "productId" : 0, "productImg" : "../img/product-ph
我是一名优秀的程序员,十分优秀!