免责声明:我意识到我应该做Handler.obtainMessage();
而不是自己实例化一个,但是这段代码演示了我在使用 java.
我有一些代码试图将带有字符串的消息发送到android中的处理程序。
我首先尝试了这样的事情:
mHandler.sendMessage(new Message().setData(new Bundle().putString("key","value)));
这显然没有用,它说 setData args (Bundle) 与我给它的不匹配 (void);
好的,所以 putString 必须返回 void,我猜 setData 也会返回 void,所以这是一个不好的方法。我试着像这样分解它:
Bundle b = new Bundle();
b.putString("key","value");
Message m = new Message();
m.setData(b);
listener.sendMessage(m);
这似乎是一种混乱的方式。典型的方式是什么?如果我这样做,这些对象将失去它们的引用并在方法完成时被垃圾收集,或者我应该添加 m=null; b=空;对这种方法;或者我应该在 handleMessage 方法中将它们分配为 null 吗?(我不确定这在多线程情况下是如何工作的。)