Handler机制中的recycle机制

来源:互联网 发布:火影手游网络连接异常 编辑:程序博客网 时间:2024/06/09 23:37

这是Handler机制中的回收机制,理解起来很简单,感觉很是实用。
这个机制的体现是在Message。
跟这个机制相关的重要变成和api如下:

private static Message sPool;public static Message obtain()void recycleUnchecked()

static的对象在Java内存分配中会分配到方法区,几乎不参与GC。(GC的主要区域是Java堆)

每当需要Message的时候,调用obtain()要优于直接new一个。当然obtain()在消息池中没对象的时候也是通过new一个来得到Message的。
每次MessageQueue removeMessages的时候都胡调用recycleUnchecked来回收Message,将Message重新初始化后加到sPool中。
具体见Handler机制分析(2):
http://blog.csdn.net/u014137988/article/details/75040684
这个机制的好处是:如果有需要频繁创建和回收的对象,可以建立一个适当大小的static对象池,使之使用完后不被回收,再次需要创建对象时直接从对象池中拿就可以了。

原创粉丝点击