Android源码设计模式探索与实战【享元模式】

IT行业,一直讲一句话,拼到最后都拼的是“内功”,而内功往往就是指我们处理问题的思路、经验、想法,而对于开发者来说,甚至对于产品也一样,都离不开一个“宝典”,就是设计模式。今天我们一起借助Android源码去探索一下享元模式的优缺点,以及它所想要去解决的问题。同时结合我工作经验中的一个小例子,来总结实践一下。

1.背景&定义

理解:
享元模式是行为型设计模式的一种。依然老办法,我们想从字面意思理解一下,“享”正常我们理解这个字,在现实生活中,有享受、共享的意思,转换到代码的世界中,那么靠的上边的应该是共享。“元”,最近网络流行一个词语,元宇宙,代表根本、本源的意思,这里可以这样理解。那么从这两个字结合理解,享元模式应该是用于共享对象的一种设计模式。那么有一个问题,为什么要共享对象?我们知道,在编程过程中,不可避免的要使用到内存,对象如果大规模创建,会带来内存溢出和GC频繁导致卡顿的问题。

享元模式是对象池的一种实现,它用来尽可能的减少内存的使用量,用于可能存在大量重复对象的场景中,来缓存可共享的对象,达到对象共享、避免创建太多、避免频繁GC,从而提升程序性能。

这时就涉及到一个概念,我们既然要去达到对象复用,那么肯定要将同一类型的共享对象存储下来,在经典的实现中,常用map来存储,key为不可变的部分(代表:同一类别),value就是我们想要存储的共享对象(同一类别的对象&

你可能感兴趣的:(android,设计模式,享元模式)