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

android– 这个Handler类应该是静态的,否则可能会发生泄漏(null),第1张

概述ThisHandlerclassshouldbestaticorleaksmayoccur(null)这个消息的’class’是指’MyActivity’,因为Handler是一个对象,我确实声明它是静态的.我应该忽略它还是应该添加一些内容,例如’MyActivity’声明中的’static'(我试过这个并且出错了).我注意到这种棉绒警告通常

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

这个消息的’class’是指’MyActivity’,因为Handler是一个对象,我确实声明它是静态的.我应该忽略它还是应该添加一些内容,例如’MyActivity’声明中的’static'(我试过这个并且出错了).我注意到这种棉绒警告通常建议使用’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子类不是静态的.

代替:

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

使用:

handler=new MyVeryOwnHandler();

其中MyVeryOwnHandler是常规java类或静态内部类:

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

请注意,错误是该类需要是静态的;它并没有说对象需要是静态的.

总结

以上是内存溢出为你收集整理的android – 这个Handler类应该是静态的,否则可能会发生泄漏(null)全部内容,希望文章能够帮你解决android – 这个Handler类应该是静态的,否则可能会发生泄漏(null)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1120355.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存