我每5秒将textview中的文本用户类型更新为数据库。 处理程序从textview收集数据并将其保存到数据库。 但是,即使按下后退按钮并返回MainActivity,更新代码也会运行。
退出活动后如何停止运行代码。
streamingBodyFrom :: Stream (Of ByteString) (ResourceT IO) ()
-> Int
-> StreamingBody
streamingBodyFrom stream breakSize writeBuilder flush =
let writer a = liftIO (writeBuilder (byteString a))
flusher = liftIO flush
broken = breaks' breakSize stream
in runResourceT . S.mapM_ writer . S.intercalates flusher $ broken
答案 0 :(得分:3)
您需要在销毁活动时释放处理程序资源。
@override
protected void onDestroy() {
super.onDestroy();
h.removeCallbacksAndMessages(null);
h = null;
}
答案 1 :(得分:2)
您可以删除onPause中的处理程序
Runnable runnable =new Runnable() {
@Override public void run() {
}
};
new Handler().removeCallbacks(runnable);
答案 2 :(得分:2)
在方法之外创建runnable,如:
Runnable runnable =new Runnable() {
@Override public void run() {
}
};
在您的活动的onPause
来电:
h.removeCallback(runnable);