msg.obj 用来放对象(可以是任何类型)
msg.what只能用来放数字(用在if语句中)
Message的两种获取方法:
第一种:Message msg = new Message(); 这种方法是new一个message,需要开辟内存空间
第二种:Message msg = handler.obtainMessage(); 这种方法是从消息池(global message pool)中拿到msg,不需要 new一个。这种的Message msg可以复用,性能消耗相对少。当然如果消息池中没有msg,则会创建一个msg
Message方法:public static Message obtain(Handler h, int what, int arg1, int arg2, Object obj)
通过该方法可以获得一个消息:Message message = Message.obtain(handler, 33, 2, 3, "hello");
深入理解Android Message机制
本文详细解析了Android中Message的使用方法,包括msg.obj用于存放对象,msg.what仅用于存放数字,以及两种获取Message的方式:一种是通过new Message()创建,另一种是从消息池中通过handler.obtainMessage()获取,后者性能更优。同时介绍了Message的静态方法obtain的使用。
4179

被折叠的 条评论
为什么被折叠?



