移动开发

Android-推荐一个给View添加点击效果的库(TouchEffects)

图片来源网络,入侵必删 在Android开发中,我们可能会遇到需要给特定的View添加点击效果。这篇博客分享一个简单实现点击效果的开源库,希望能帮小伙伴们提高开发效率。 TouchEffects TouchEffects能够帮助你更快速方便的增加点击时候的效果,TouchEffects的目标是打造一个稳定、全面、且能更方便的自定义及个性化的一款点击效果框架。 引入项目 1、设置mave

SDWebImage5.11源码分析(二)

接上一篇文章继续分析SDWebImage5.11的缓存部分 SDImageCache 缓存获取数据,主要是通过key缓存(上一篇文章有说),cacheType判断缓存方式,options进行缓存拓展。主要内容如下: a. 对cacheOptions类型进行筛选 b. 进入queryCacheOperationForKey方法,对具体缓存方式进行划分,其中包括内存缓存,磁盘缓存。然后又在各自缓

2023-03-22法条语言AI与GPT沟通(37

使用chatGPT进行日常咨询,提出问题是一个重要的步骤。但是,最关键的不只是提出问题,而是如何表达问题,以及如何与chatGPT进行交互和沟通。 以下是几点建议: 1. 确定需要咨询的领域或主题,以便chatGPT能够更好地理解你的问题,并为你提供相关的答案和建议。 2. 设定几个层次的问题,从宏观到微观,逐步深入探索问题的根源和解决方案。 3. 使用清晰、简洁、明确的语言,以便chatGP

聊聊libffi的调用流程

背景 花了点时间分析了下libffi的调用流程,做个总结。 什么是libffi libffi是ffi的主流实现方式,其主要是用C和汇编来实现的。 原理和用法市面上已经很多,下面这两篇是我觉得讲得较为通俗易懂的,这里就不做过多的解释了。 外部函数接口 FFI —— 虚拟机中重要但不起眼的组件 使用 libffi 实现 AOP libffi的调用流程 PS:最近换了M1,所以以下的代码都是ARM64架

ViewModel源码阅读笔记

MVVM模式实现了数据和页面的分离。ViewModel的生命周期需要跟随引用他的activity或者fragment。接下来我们就来看看,ViewModel是如何实现生命周期的伴随的。 先从ViewModel的创建开始看 XXXViewModel viewModel = new ViewModelProvider(fragment).get(XXXViewModel.class) kotlin

Android10.0 StatusBar之状态栏

学习笔记:参考资源 一、StatusBar简介 Statusbar包含导航栏(NavigationBar, 位于左侧、右侧或者底部)和状态栏(StatusBar, 位于顶部, 可下拉)两个部分。 Statu

Vue.js基础-03-条件语句(v-if/v-show)

1. v-if 1.1 v-if 语法示例 <p v-if="show">甲</p> 完整示例 如下: 如果show是false,则甲不会显示。 如果ok是flase template中 三奇六仪的信息都不会显示 但是show和template我们都设置了true,所以有后边的输出。 <!DOCTYPE html> <html> <

List并发线程安全问题

一、发现并发问题 1.1 测试代码 public class Client { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); new Thread(() -> { for (int i =

iOS开发 实现手机屏幕指定区域截屏

指定截屏代码实现 全屏截图效果 全屏截图效果 指定区域截屏效果 指定区域截屏效果 这里先上代码,代码后面有相关方法的解释 第一种方法 代码下载 /** 创建一个基于位图的上下文(context),并将其设置为当前上下文(context) @param size 参数size为新创建的位图上下文的大小。它同时是由UIGraphicsGetImageFromCu

单例模式(一)—懒汉模式

前言 单例模式模式无需多言,就是只允许生成一个对象,这种设计模式在数据库连接对象的使用上比较频繁,当然在其他场景下也有使用。然而单例模式的实现也有多种方式,今天就让我们来学习下单例模式的懒汉模式。 今天涉及内容: 懒汉模式编写的几个特点 懒汉模式代码实现 懒汉模式优缺点 一. 懒汉模式 编写的几个特点 作为单例模式中的懒汉模式,具有以下特点: 私有无参构造函数 声明静态私有类对象 静态