java和Android设计模式
文章平均质量分 92
分析常见的设计模式在Android中的应用场景
UI仔Coder
画画UI,吃吃烤串。
展开
-
Android源码解析--享元设计模式,handler消息传递机制(基于Android API 33 SDK分析)
使用共享对象可有效地支持大量的细粒度的对象核心:对象复用。原创 2023-08-20 14:21:08 · 1772 阅读 · 0 评论 -
Android布局填充器--深入LayoutInflater一探究竟
大致流程:解xml中的根标签,最外层的xml布局元素,如果根标签是 merge,那么调用rInflate进行解析,rnflate会将 merge 标签下的所有子View直接添加到根标签中,如果标签是普通元素,调用createViewFromTag 对该元素进行解析,调用rInflate解析 temp 根元素下的所有子 View,并且将这些子 View 都添加到temp下。核心就是onCreateView通过传进来的名字,name,prefix前缀构造出对应的View对象,比如TextView。原创 2023-08-18 00:32:47 · 1394 阅读 · 0 评论 -
Android源码设计模式--单例模式分析,系统服务开机注册单例模式源码解析
使用LayoutInflater.from(Context)来获取LayoutInflater 服务,看看LayoutInflater.from(Context)的实现。概述:在Android系统中我们经常会通过Context 获取系统级别的服务,通过 Context 的 getSystemService(String name)获取。from(Context)函数内部调用的是 Context 类的 getSystemService(String key)方法,到 Context 类看,该类是抽象类。原创 2023-08-16 00:16:55 · 711 阅读 · 0 评论 -
单例设计模式在Android开发实际应用场景解析–activity的管理
客户端调用单例类。构造函数私有化。通过静态方法获取单例对象。客户端调用多线程环境下确保对象只有一个。反序列化不能重新构造新对象。原创 2023-08-14 23:00:25 · 974 阅读 · 0 评论 -
Android责任链模式(java责任链模式,Android事件分发)
为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。原创 2023-01-14 23:33:01 · 410 阅读 · 0 评论 -
Android适配器模式,手写ListView体验适配器
适配器模式 (Adapter Pattern) 是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。原创 2023-05-08 23:47:01 · 1417 阅读 · 0 评论 -
Android观察者模式,Rxjava观察者模式简介
Observable: 被观察者 (Subject)。Observer/Subscriber: 观察者。Subscribe:订阅。Observable 和 Observer 通过 subscribe0)方法实现订阅关系,可以理解为绑定关联起来。原创 2023-04-09 13:50:51 · 1859 阅读 · 0 评论 -
Android代理模式(静态代理,动态代理,Retrofit代理模式分析)
一. 由来概念:面向切面编程是对面向对象继承体系的一个补充,它可以在水平方向上面做一些事情,从而完善整个java代码的设计体系。我们看看下面这个图的分析:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AQPUUd47-1670077421943)(C:\Users\Administrator\Desktop\无标题.png)]上面这幅图抛出AOP,也就是水平方向上面做事情。下面我们就通过几个类写代码简单模拟一下这个过程。声明一个A接口,B,C分别实现了A接口并且复写了test原创 2022-12-03 22:24:53 · 4044 阅读 · 0 评论 -
Android工厂设计模式(简单工厂,工厂方法,抽象工厂,BitmapFactory简单工厂分析,Retrofit抽象工厂分析)
工厂模式主要是用于对对象实例化的一种管理模式,一般情况下,我们都需要使用new关键字来创建一个对象,那么我们就需要用工厂模式来统一管理我们对象的创建过程,把对象的创建交给该模式去处理,这样我们就不用手动的去new对象了,工厂模式主要是将创建对象的具体过程屏蔽隔离起来。首先我们先来看一个Android里面开发常用的例子SharedPreferences。这是布局文件我们一般都这么写,常规写法SP工具类初始化小结:优点:通过SPUtils工具类来优化代码,就不用每次都在Activity里面重复写SP的代原创 2022-12-03 22:22:18 · 2062 阅读 · 0 评论 -
Android建造者模式(okhttp源码Builder设计模式,AlertDialog源码Builder设计模式)
生活案例:顾名思义,重点就是建造的过程。举例:造车,车是由各种各样的零件组装而成,底盘,轮胎,外壳,座椅等等,生成的流程还是非常固定的,可以把这些组成部分看成一系列的复杂的对象,轮胎可能需要各样的材料组成,外壳或许会有颜色的定制或者材料质量要求,座椅也许也会定制要求真皮材质,非常的多元化。但是它们的组装流程是一样不变的,变化的是它们这些配件的一些内部的细节(颜色,材质等等),但是不影响我们组装汽车的流程。定义:指一个复杂对象的构造和它的表示分离,使得同样的构建流程可以创建不同的表示,被称为建造者模式,它是将原创 2022-12-03 22:26:25 · 681 阅读 · 0 评论 -
Android中的单例模式(java单例模式详解,Glide,EventBus,LayoutInfalter的源码单例模式详解)
名称优点缺点普通的单例模式实现简单,操作简单,理解简单多线程并发操作资源的时候不安全,会导致资源数据混乱饿汉模式线程安全内存资源的消耗会相对多一些懒汉模式线程安全需要上锁,线程资源需要同步排队等待执行,性能方面相对较低静态内部类模式线程安全、避免了对象的实例化操作,可通过外部类直接访问静态的内部类操作创建单一的实例对象。暂无。原创 2022-11-05 21:20:49 · 5118 阅读 · 0 评论