遇到过的错误汇总

时间:2021-02-10 20:09:06

1.Map类型的数据在new时不能够给一个null指针,必须直接new一个新的出来,而且不是Map类型,而应该是HashMap类型。由此引申出对List,Map,Set等使用的注意事项。

Map<String, Object> map = null;
//由于写了上面的语句,程序一直报空指针异常,后面的map.put()也都是没有用的,改为下面语句之后,一切正常了
Map<String, Object> map = new HashMap<String, Object>();

2.在使用handler.sendMessage(msg)后遇到如下错误报告:

java.lang.IllegalStateException: The specified message queue synchronization barrier token has not been posted or has already been removed.

最后使用dispatchMessage(msg)方法解决了问题,问题原因未知。

(改进版)问题同上,在handler的handlerMessage()方法中加一条,this.obtainMessage()之后错误消失。我怀疑是跟android自身设计的缺陷有关,全部自动进行信息send和接收会产生误差,手动要求检查并obtain信息就可以解决这一问题。