
成神之路
文章平均质量分 91
_蓝橙
日拱一卒无有尽,功不唐捐终入海
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
安卓触摸事件分发机制分析
🎯 一句话总结:触摸事件(TouchEvent)会从Activity层开始,按从外到内的方式传递给每一个 ViewGroup/View,直到某个 View消费(consume)它,事件传递就会停止。📌 事件分发三个关键方法方法名所在类作用说明所有 View/ViewGroup事件分发入口,决定是否继续向下传递仅 ViewGroup是否拦截事件,阻止传递给子 View所有 View/ViewGroup事件的最终处理者(消费者)DecorView是一个应用窗口的根容器,它本质上是一个。原创 2025-04-27 16:44:35 · 759 阅读 · 0 评论 -
深入理解 Android Handler
Handler是 Android 消息机制的基础组成部分。通过对 Handler、Looper、MessageQueue 之间关系的理解,我们可以更深入掌握 Android 的线程模型与 UI 更新流程。由于本人能力有限,并没有对Handler进行过度深入全面了解,比如同步屏障等,如果文章内容解读有误,还望不吝赐教。原创 2025-04-18 15:02:06 · 1052 阅读 · 0 评论 -
安卓性能调优之-掉帧测试
掉帧指的是某一帧没有在规定时间内完成渲染,导致 UI 画面不流畅,产生视觉上的卡顿、跳帧现象。原创 2025-04-14 13:46:57 · 754 阅读 · 0 评论 -
Android JNI 技术入门指南
JNI是 Java 与其他编程语言(通常是 C 或 C++)之间的接口,允许 Java 代码与底层的本地代码进行交互。通过 JNI,我们可以在 Java 代码中调用本地(native)方法,或者让本地代码调用 Java 方法。之前一直对JNI望而却步,真正学过后回头看看,也不是那么的难,难的是你不主动去学。所有伟大,都源于一个勇敢的开始!共勉!原创 2024-11-09 16:47:04 · 1770 阅读 · 0 评论 -
技术成神之路:二十三种设计模式(导航页)
设计原则/模式链接面向对象的六大设计原则技术成神之路:面向对象的六大设计原则创建型模式单例模式建造者模式原型模式工厂方法模式抽象工厂模式行为型模式策略模式状态模式责任链模式观察者模式备忘录模式迭代器模式模板方法模式访问者模式结构型模式享元模式中介者模式代理模式组合模式适配器模式桥接模式装饰模式外观原创 2024-10-24 11:23:38 · 528 阅读 · 0 评论 -
技术成神之路:设计模式(二十三)解释器模式
解释器模式(Interpreter Pattern)是一种行为设计模式,用于定义一种语言的文法表示,并提供一个解释器来处理这种文法。它用于处理具有特定语法或表达式的场景。解释器模式定义了一种语言的文法表示,并定义一个解释器用来解释语言中的句子。解释器模式适用于简单的语法解析和解释场景,但不适合复杂的语法结构。它通过类和对象的组合,灵活定义和扩展语法结构。至此,23种设计模式告一段落。原创 2024-10-24 11:09:52 · 902 阅读 · 0 评论 -
技术成神之路:设计模式(二十二)命令模式
命令模式(Command Pattern)是一种行为设计模式,允许将请求(命令)封装为对象,从而使您可以使用不同的请求、队列或记录请求日志,以及支持可撤销操作。命令模式将一个请求封装为一个对象,从而能够参数化其他对象以便于请求的发起、排队或日志记录。命令模式通过将请求封装为对象,提供了灵活的请求处理方式。它有助于实现请求的解耦、可撤销操作和请求日志。尽管它增加了类的数量,但在需要复杂请求处理的系统中,它的优势是显而易见的。原创 2024-10-23 18:39:55 · 1143 阅读 · 0 评论 -
技术成神之路:设计模式(二十一)外观模式
外观模式(Facade Pattern)是一种结构型设计模式,它为子系统中的一组接口提供一个统一的接口。外观模式定义了一个高层接口,使得子系统更容易使用。外观模式通过引入一个外观类,来简化与复杂系统的交互。这个外观类对外提供一个简单接口,而系统内部的复杂性被封装在外观类后面。外观模式在简化复杂系统的使用和降低系统耦合度方面发挥了重要作用。通过提供一个高层接口,外观模式隐藏了复杂的实现细节,使得系统更加易于理解和使用。原创 2024-10-22 11:14:35 · 961 阅读 · 0 评论 -
技术成神之路:设计模式(二十)装饰模式
装饰模式(Decorator Pattern)是一种结构型设计模式,它允许在不改变对象自身的情况下,动态地为对象添加额外的职责。这个模式通常用于增强或改变对象的功能。装饰模式通过创建一个装饰类,将功能动态地添加到被装饰类的实例中。装饰类与被装饰类实现相同的接口或继承相同的父类,这样装饰对象就可以取代被装饰对象。装饰模式是一种强大的设计模式,通过组合对象和装饰器的方式实现功能的动态扩展。它在实际开发中非常有用,能够有效地提高代码的灵活性和可维护性。原创 2024-10-10 16:17:23 · 1415 阅读 · 0 评论 -
技术成神之路:设计模式(十九)桥接模式
桥接模式(Bridge Pattern)是一种结构型设计模式,通过将抽象部分与它的实现部分分离,使它们都能够独立地变化。它的核心思想是将接口与实现解耦,从而使得两者可以独立地变化。桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。桥接模式是一个强大且灵活的设计模式,通过将抽象与实现分离,降低了系统的耦合度和复杂性。虽然引入了额外的抽象层,但在需要高度灵活性和可扩展性的场景中,它提供了一种优雅的解决方案。在实际开发中,合理使用桥接模式能够有效提升系统的可维护性和可扩展性。原创 2024-09-30 11:46:06 · 1326 阅读 · 1 评论 -
技术成神之路:设计模式(十八)适配器模式
适配器模式(Adapter Pattern)是一种结构型设计模式,它允许接口不兼容的类可以协同工作,通过将一个类的接口转换成客户端所期望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。适配器模式将一个类的接口转换成客户期望的另一个接口,使得原本接口不兼容而无法一起工作的类可以一起工作。适配器模式是一种结构型设计模式,通过将一个类的接口转换为客户端期望的接口,使得原本不兼容的类可以一起工作。它主要解决接口不兼容的问题,提高代码的复用性和灵活性。原创 2024-09-29 15:23:16 · 931 阅读 · 0 评论 -
技术成神之路:设计模式(十七)组合模式
组合模式(Composite Pattern)是一种结构型设计模式,它使你能够将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。组合模式允许将叶子对象和组合对象(容器对象)统一处理。组合模式是一种强大的设计模式,适用于处理树形结构中的对象关系。通过将对象组合成树形结构,组合模式使得客户端可以统一地处理单个对象和组合对象,从而简化了代码逻辑和结构。然而,组合模式也增加了类的复杂性,需要在设计时权衡其优缺点。原创 2024-09-27 16:11:22 · 1182 阅读 · 0 评论 -
技术成神之路:设计模式(十六)代理模式
代理模式(Proxy Pattern)是一种结构性设计模式,它通过代理对象来控制对另一个对象的访问。代理对象在功能上与真实对象相似,但可以在访问真实对象前后添加一些额外的处理。代理模式常用于控制对某个对象的访问、延迟实例化、权限控制等场景。通过引入一个代理对象(Proxy)来控制对真实对象(RealSubject)的访问。代理对象与真实对象实现相同的接口,通过代理对象的接口调用,客户端可以间接地与真实对象进行交互。代理模式通过引入代理对象,为访问真实对象提供了一种灵活的控制手段。原创 2024-09-26 22:48:37 · 1015 阅读 · 0 评论 -
技术成神之路:设计模式(十五)中介者模式
中介者模式(Mediator Pattern)是一种行为型设计模式,用于减少对象之间的复杂通信和依赖。它通过引入一个中介者对象来封装对象之间的交互,从而使得对象之间不直接相互依赖,而是通过中介者进行通信。中介者模式将对象之间的通信封装到一个中介者对象中,使各对象不再直接引用彼此,从而减少对象之间的耦合度。中介者模式通过引入一个中介者对象,将对象之间的复杂通信逻辑封装起来,从而降低对象之间的耦合度,提高系统的可维护性和可扩展性。原创 2024-09-25 21:49:15 · 1211 阅读 · 0 评论 -
C语言基础
使用预处理器: #define 可以在程序中定义一个常量,它在编译时会被替换为其对应的值。使用**const**关键字:const 关键字用于声明一个只读变量,即该变量的值不能在程序运行时修改。#define 预处理器#define 常量名 常量值在程序中使用该常量时,编译器会将所有的PI替换为 3.14159。return 0;const 关键字const 数据类型 常量名 = 常量值;相对于Java 就算前面加了个const。原创 2024-09-20 19:03:39 · 1896 阅读 · 0 评论 -
技术成神之路:设计模式(十四)享元模式
享元模式(Flyweight Pattern)是一种结构性设计模式,旨在通过共享对象来有效地支持大量细粒度的对象。享元模式通过将对象状态分为内部状态(可以共享)和外部状态(不可共享),来减少内存使用和提高性能。享元模式通过共享对象来优化内存使用和性能,适合于需要创建大量相似对象的场景,但设计复杂性和状态管理需要谨慎处理。原创 2024-09-20 14:43:30 · 995 阅读 · 0 评论 -
技术成神之路:设计模式(十三)访问者模式
访问者模式(Visitor Pattern)是一种行为型设计模式,它允许你在不改变对象结构的前提下,定义作用于这些对象的新操作。这种模式通过将操作逻辑从对象结构中抽离出来,使得新的操作可以无缝地添加到现有对象中。访问者模式定义了一个访问者接口,它包含了访问不同元素的操作方法。具体的元素类接受访问者并调用相应的访问方法。通过这种分离,新增的操作可以直接通过访问者来实现,而不需要修改元素类。访问者模式是一种强大的设计模式,可以方便地向对象结构中添加新的操作,而无需修改对象结构本身。原创 2024-09-11 22:44:46 · 1317 阅读 · 0 评论 -
技术成神之路:设计模式(十二)模板方法模式
模板方法模式(Template Method Pattern)是一种行为设计模式,它定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法模式使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。模板方法模式是指在一个方法中定义一个算法的骨架,并将一些步骤的实现延迟到子类中。模板方法使得子类可以不改变算法的结构即可重定义算法的某些特定步骤。模板方法模式通过在抽象类中定义一个操作的模板,而将具体步骤的实现留给子类,从而实现代码复用和灵活扩展。原创 2024-08-27 17:12:38 · 1228 阅读 · 0 评论 -
技术成神之路:设计模式(十一)迭代器模式
迭代器这个词听到并不陌生吧,我们再开发中遍历HashMap和HashSet的时候 用到的迭代器和这里的迭代器是一个概念,当然,这个模式不是教你如何去实现的,而是以了解为主。迭代器模式(Iterator Pattern)是一种行为型设计模式,它帮助我们在不暴露集合内部结构的情况下,可以顺序访问集合中的元素。它将集合对象的遍历行为抽象出来,放到一个迭代器对象中,这样可以使得遍历行为和集合对象的实现分离。提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露该对象的内部表示。原创 2024-07-31 14:28:09 · 950 阅读 · 0 评论 -
技术成神之路:设计模式(十)备忘录模式
备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。通过备忘录模式,可以在程序运行过程中保存和恢复对象的某个状态,从而实现“撤销”等功能。备忘录模式在《设计模式》一书中的定义是:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。备忘录模式是一种非常实用的设计模式,它允许在不破坏对象封装性的前提下捕获和恢复对象的内部状态。原创 2024-07-26 11:50:12 · 1185 阅读 · 0 评论 -
技术成神之路:设计模式(九)观察者模式
观察者模式(Observer Pattern)是一种行为设计模式。它允许一个对象(称为主题或可观察者)来监视并通知一组依赖于这个对象的其他对象(称为观察者),以便在主题状态发生变化时自动更新观察者的对象。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有注册过的观察者对象,使它们能够自动更新自己。观察者模式通过定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,实现了对象之间的解耦和通信。原创 2024-07-24 22:46:17 · 1345 阅读 · 0 评论 -
技术成神之路:设计模式(八)责任链模式
责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许多个对象依次处理请求,避免请求的发送者和接收者之间的显式耦合。该模式通过将多个可能处理请求的对象连接成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。责任链模式为请求创建一个接收者对象的链。这种模式给予多个对象处理请求的机会,从而解耦发送者和接收者。原创 2024-07-19 11:54:33 · 1405 阅读 · 0 评论 -
技术成神之路:设计模式(七)状态模式
状态模式(State Pattern)是一种行为设计模式,它允许一个对象在其内部状态改变时改变其行为。这个模式将状态的相关行为封装在独立的状态类中,并将不同状态之间的转换逻辑分离开来。关注点不同:状态模式关注对象在不同状态下的行为差异,封装了不同状态的行为。策略模式关注的是算法的不同实现方式,允许算法在不影响客户端的情况下独立变化。使用场景不同:状态模式适用于对象的行为在状态改变时发生改变的情况,状态之间有明显的转换关系。策略模式适用于客户端需要在多个算法中选择一种时,并且允许在运行时切换算法。原创 2024-07-15 10:54:33 · 1335 阅读 · 0 评论 -
技术成神之路:设计模式(六)策略模式
策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,封装每一个算法,并使它们可以相互替换。策略模式使得算法的变化独立于使用算法的客户端。策略模式通过将算法封装为独立的策略类,提供了一种灵活的方式来选择和使用算法。它提高了代码的可维护性和扩展性,符合面向对象设计的基本原则。在需要动态选择算法和减少条件判断时,策略模式是一种非常有效的解决方案。原创 2024-07-14 13:46:05 · 863 阅读 · 0 评论 -
技术成神之路:设计模式(五)抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一种创建一系列相关或相互依赖对象的接口,而无需指定其具体类。这种模式属于工厂模式的一种扩展,它通过引入抽象层来实现工厂方法的组合,从而使得客户端能够使用抽象的接口创建一组相关的产品对象。抽象工厂模式定义了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。抽象工厂模式是一种创建型设计模式,它允许客户端创建一系列相关或相互依赖的对象,而无需指定它们具体的类。原创 2024-07-11 11:19:02 · 1044 阅读 · 0 评论 -
技术成神之路:设计模式(四)工厂方法模式
工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它提供了一种创建对象的接口,而不是通过具体类来实例化对象。工厂方法模式的主要作用是让子类决定实例化哪一个类,从而实现对象创建的延迟到具体子类中进行。工厂模式解决了简单工厂模式中集中创建逻辑和不符合开闭原则的问题,但同时自身也有一些弊端,但通过合理应用工厂方法模式,在特定的场景可以有效地提高系统的可维护性和扩展性。设计模式没有最好的,只有最适合的,大家在选用时,要权衡利弊,避免过度设计!原创 2024-07-10 11:18:59 · 1013 阅读 · 0 评论 -
技术成神之路:设计模式(三)原型模式
原型模式(Prototype Pattern)是一种创建型设计模式,旨在通过复制现有对象来创建新对象,而不是通过实例化类的方式。这个模式可以提高对象创建的效率,尤其是在创建对象的过程非常复杂或代价高昂时。原创 2024-07-03 16:28:11 · 1462 阅读 · 1 评论 -
技术成神之路:设计模式(二)建造者模式
建造者模式(Builder Pattern)是一种创建型设计模式,它允许你分步骤创建复杂对象,而不必直接调用构造函数。建造者模式特别适合那些包含多个组成部分并且构造过程复杂的对象。原创 2024-07-02 18:40:21 · 840 阅读 · 0 评论 -
技术成神之路:设计模式(一)单例模式
单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。其主要思想是将类的构造函数私有化,并通过一个静态方法来控制实例的创建和访问。五种创建单例的方式,大家按需选择,核心思想都是确保一个类只有一个实例,并提供全局访问点,没有最好的,只有最适合的,理解不同实现方式的优缺点,可以帮助我们在实际开发中选择最合适的方案。原创 2024-07-01 11:08:12 · 927 阅读 · 0 评论 -
技术成神之路:面向对象的六大设计原则
面向对象的六大原则(SOLID原则)旨在提高代码的可维护性、可读性和可扩展性。单一职责原则(SRP):一个类只应该有一个引起它变化的原因。开闭原则(OCP):软件实体应该对扩展开放,对修改关闭。里氏替换原则(LSP):子类型必须能够替换掉它们的基类型。接口隔离原则(ISP):不应该强迫客户端依赖于它们不使用的方法。依赖倒置原则(DIP):高层模块不应该依赖于低层模块,二者都应该依赖于抽象。迪米特法则(LoD):一个对象应该对其他对象有尽可能少的了解,只与直接的朋友通信。原创 2024-06-28 18:19:27 · 497 阅读 · 0 评论