手机元模式是什么意思

前言

又来梳理知识点啦!

在有的时候我们要多次使用某个类中的公有实例方法,我们通常的做法是,先new一个该类的实例,然后再调用该类的这个方法,调用完毕后这个类也就变成垃圾。这种调用方式如果出现的频率很高,会在对象生成和内存占用上浪费很多的资源,一个对象的创建和销毁是很占资源的。

于是,伟大的程序员们想到一个好办法,尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。经典的享元模式中,是使用一个map来存储对象,相当于是一个对象工厂,客户端每次都从享元对象工厂中获取对象。

定义

使用共享对象可有效的支持大量的细粒度对象

使用场景

系统中存在大量的相似对象

对象没有特定的身份,状态都较接近

需要缓冲池的场景

使用方法

享元模式是一种思想,一种避免多次重复创建对象的编程思想。

我们主要是要创建一个享元工厂,来生产我们的享元类。这样的享元工厂有N种写法,我们常见的是使用map来构造享元工厂,来看一个享元工厂的demo

Android中的享元模式应用

应用的话,若我说,我们编写的ViewHolder都可以归类为享元工厂的存储器。几乎到处是应用,不过最明显的是Handler中Message的应用。

例如我们发送个0给handler自己。

handler.obtainMessage(0).sendToTarget();

我们进去看Handler的源码,obtainMessage如下

我们可以看到,sPool指向的是一个链表,其实这个链表是存储我们用过的Message的,当我们obtain一个Message的时候,会去取链表中的第一个,并把sPool指向下一个,同时把取到的置空。

我们可以知道Message的享元模式不是使用的传统的map方式,而是自己构建一个链表,灵活使用我们的享元模式思想才是重点。

简书地址:Anderson大码渣

本文来自“等夏天等秋天”用户投稿,该文观点仅代表作者本人,不代表华夏信息网立场,本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容,请发送邮件至1470280261#qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。如若转载,请注明出处:http://www.xxxwhg.com/zh/102104.html

上一篇 2023-03-28 23:00:05
下一篇 2023-03-28 14:00:02

相关推荐

  • cf端游生化模式用什么武器好(cf端游生化模式视频)

    穿越火线生化模式特效全开需要什么配置需要较高的配置因为生化模式是游戏中比较复杂的模式之一,需要有更高的计算能力来支持游戏的流畅运行。同时,特效全开也需要更高的显卡和处理器性能。因此,如果你想在生化模式中体验游戏的最佳效果,你需要一台配置较高的游戏电脑。如果

    2023-05-19 16:16:17
    301
  • 微星bios开小核(微星主板开小核)

    微星主板开启xmp模式1还是22。      微星主板axmp选,2是内存频率比较高的一档,DDR4 3000在微星X370主板上 A-XMP选1档是DDR4 2666,2档是DDR4 2933。 微星宣布旗下AM4主板开始通过BIOS更新支持AMD的内存设置功能:A-XMP。微星主板如何组双通道插24或者相同颜色的

    2023-05-19 09:58:49
    329
  • 技嘉b460 mbr引导(技嘉b660m主板bios引导模式)

    技嘉b660m主板bios引导模式技嘉主板bios引导模式如下。1、首先我们重启电脑按f2或del键进入bios设置。2、进入bios设置之后分别是:主要、系统、bios功能、集成外设、电源管理、储存并退出。打开bios功能菜单。3、打开之后我们可以看到下面有个CSM support,这个是兼容的意思,

    2023-05-18 19:11:10
    243
  • 影驰主板怎么开启tmp(影驰主板怎么开启vt)

    影驰主板怎么开xmp模式1.重启电脑系统;2.在显示主板图标时按 delete 键;3.进入BIOS后,选择 advanced mode (f7) 。4.选择顶部的 ai tweaker ;5.选择 ai overclock tuner ;6.然后右侧选择 xmp ,然后按F10保存就可以了。此时 xmp 被打开。影驰主板和技嘉主板哪个好主板如果是

    2023-04-28 16:38:48
    302