Android中的处理器
我正在通过Android应用程序中的处理程序实现IPC。 在官方文件(此处)中有一个示例:Android中的处理器,android,ipc,handler,Android,Ipc,Handler,我正在通过Android应用程序中的处理程序实现IPC。 在官方文件(此处)中有一个示例: class IncomingHandler extends Handler { @Override public void handleMessage(Message msg) { switch (msg.what) { case MSG_REGISTER_CLIENT: mClients.add(msg.replyT
class IncomingHandler extends Handler {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MSG_REGISTER_CLIENT:
mClients.add(msg.replyTo);
break;
case MSG_UNREGISTER_CLIENT:
mClients.remove(msg.replyTo);
break;
case MSG_SET_VALUE:
mValue = msg.arg1;
for (int i=mClients.size()-1; i>=0; i--) {
try {
mClients.get(i).send(Message.obtain(null,
MSG_SET_VALUE, mValue, 0));
} catch (RemoteException e) {
// The client is dead. Remove it from the list;
// we are going through the list from back to front
// so this is safe to do inside the loop.
mClients.remove(i);
}
}
break;
default:
super.handleMessage(msg);
}
}
}
我的问题很简单:这条线做什么
super.handleMessage(msg);
我必须称之为这种方法吗
编辑: 我知道这将调用该方法的父级实现。但是这种方法有什么好处呢?在消息发布之前,有没有什么特别的事情需要做
提前感谢它调用了
IncomingHandler
之父handleMessage
中的handleMessage
实现
请看下面的图片
关于您的新问题,应该没有问题,因为此方法在
处理程序
类中是空的。快速浏览一下就会发现此方法的超类实现没有任何作用。尽管如此,我还是会称之为Android,因为未来版本的Android可能会有不同的表现。我查看了Android的源代码,结果显示
/**
* Subclasses must implement this to receive messages.
*/
public void handleMessage(Message msg) {
}
所以,我会说不
但是(正如devconsole在我输入答案时敏锐地观察到的那样),无论如何称呼它都是一个很好的做法 是的,我知道。但我必须称之为这种方法吗?我正在编辑我的问题,让它更具体一点。