gpt4 book ai didi

android - 此 Handler 类应该是静态的,否则可能会发生泄漏 (null)

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:23 25 4
gpt4 key购买 nike

This Handler class should be static or leaks may occur (null)

此消息中的“类”是否指的是此处的“MyActivity”,因为 Handler 是一个对象并且我确实将其声明为静态的。我应该忽略它还是应该添加一些东西,比如“MyActivity”声明中某处的“静态”(我试过这个但出错了)。我注意到通常会针对此 lint 警告建议使用“WeakReference”。

public class MyActivity extends Activity{
...
static Handler handler;
...
handler = new Handler()
{
public void handleMessage(Message msg) {

最佳答案

since Handler is an object and i did declare it static

您将数据成员 声明为静态的。但是,您使用的是匿名内部类,因此您的 Handler 子类不是 static

代替:

  handler = new Handler() {
public void handleMessage(Message msg) {
// do cool stuff
}
};

使用:

handler=new MyVeryOwnHandler();

其中 MyVeryOwnHandler 是常规 Java 类或 static 内部类:

private static class MyVeryOwnHandler extends Handler {
public void handleMessage(Message msg) {
// do cool stuff
}
};

注意错误是class需要是static;它并没有说对象需要是static

关于android - 此 Handler 类应该是静态的,否则可能会发生泄漏 (null),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30820222/

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