android单例模式应用,Android Singleton 单例模式运用01

本文探讨了Singleton模式在内存管理和优化方面的应用。通过对比普通实例化与使用Singleton的情况,展示了Singleton如何减少内存占用。文章指出,在大规模开发或内存有限的场景下,Singleton能避免不必要的内存开销,特别是在对象初始化成本高的情况下。作者建议开发者养成良好的编程习惯,以防止项目变得臃肿。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的:确保一个类别只会产生一个物件 废话不多说马上来看Singleton怎幺实作 这个写法在Android Memory Leak及衍伸问题01有提到 我打算把每个问题都拆开来讨论并且个别讨论解决方案...

目地:保证一个类型总是造成一个物品

废话不多说立刻看来Singleton怎幺实操

f5490865068e92f728d01be9fdf91ecf.png

这一书写在Android Memory Leak及衍伸难题01有提及

我准备把每一个难题都拆出来探讨而且某些探讨解决方法

防止在一篇文章中提及好几个难题而造成阅读者搞混解决方法

实操完后立刻就来运用一下较为一下差别

一般情况

最先在一般沒有应用Singleton的状况,大家一切一个地区应用到物品都务必new一个新的

在这个範例中大家在一个Activity通话了三个API,在沒有Singleton的情况下,就造成了三个不一样的物品

32664f5b78fea0f19fbd7e6c32b8bba8.png

应用Singleton

接下去大家导进Singleton Pattern在一样的情景下应用,全部地区全是应用同一个物品。在这个範例中大家物品佔用的內存室内空间便是本来的三分之一了

f69b00692000195a1d7534784c9e3925.png

一开始提到的目地(保证一个类型总是造成一个物品),将会会有一个疑惑,只造成一个这件事情有这幺关键吗?

自己觉得,平时不大经营规模的开发设计或是內存很充裕的状况,也许你做不做都觉得不上差别,就如大家不久举的一个事例经营规模不大,复位一次压根佔用不上是多少時间,自然做不做从一般的应用或是检测下,是没有办法发觉的

举的事例讨论一下

大家假定这一物品在复位的情况下必须很高的成本费

这里我还在复位的情况下姿势再加必须载入一张3MB的图片资源档

b46aa1e8d6732a2e9a1170a402f06c95.png

一般情况

能够见到在2次复位中间能用內存立即少3%了

对于我是怎幺Log內存的能够去爬爬文,我是看这个StackOverFlow

6e05cc738ee9060f94ad056a4ccec86d.png

应用Singleton

在这里2次复位中间內存基本上沒有变化,关键缘故便是用Singleton Pattern后,sInstance物品仍在,因此压根不用再再次new一个新物品,自然就不容易有多的內存被佔用

3f32cc156c1f2b06d92a51e7a48f92bb.png

看了这篇实际上也是一个依据,从平时就刚开始培养优良的编写习惯性,防止Project越养越肥,那时候重新构建、提升效率保证抱头痛哭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值