在同一个Activity中使用多个Handler是否有任何问题.
我注意到在android官方网站上提供的所有示例中,他们使用单个处理程序并根据“what”的值检测不同的操作,这是因为内存管理和Handler使用的大量内存?或者我应该称之为“坏代码”并以干净的方式执行(多个处理程序,每个负责特定任务)
Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == 0){ // do something } else if (msg.what == 1){ // do something else } } }
要么
Handler taskHandlerA = new Handler() { @Override public void handleMessage(Message msg) { // do something } } Handler taskHandlerB = new Handler() { @Override public void handleMessage(Message msg) { // do something else } }
解决方法
没有这样的限制(Handler只是一个消息接收者),但如果你想做这样的事情,更常见的方法是让一个Handler你发布Runnable对象.