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)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)