gpt4 book ai didi

android - 将上下文传递给计时器……这样安全吗

转载 作者:行者123 更新时间:2023-11-29 00:50:21 25 4
gpt4 key购买 nike

我正在使用需要上下文的计时器。现在我有以下代码:

   mContext=context;
mEventID=eventID;
CountDownTimer cdTimer = new CountDownTimer(20000, 1000) {
public void onTick(long millisUntilFinished) {
// Do nothing onTick... Sorry
}
public void onFinish() {
int deletedRows = mContext.getContentResolver().delete()
// ..rest of code
}
};
cdTimer.start();

这可以安全使用吗,或者我可能在这里泄露了上下文?顺便提一句。这是在 broadcastreceiver 中。

最佳答案

您不应将上下文传递给线程,而应通过其父名称引用它。

像这样

class MyClass {
...
CountDownTimer cdTimer = new CountDownTimer(20000, 1000) {
public void onTick(long millisUntilFinished) {
// Do nothing onTick... Sorry
}
public void onFinish() {
int deletedRows = myClass.this.context.getContentResolver().delete()
// ..rest of code
}
};

...

}

因此您可能需要通过广播接收器的名称调用上下文,例如:MyReceiver.this.context 假设 context 是该类的成员。

关于android - 将上下文传递给计时器……这样安全吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3271083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com