Flutter-FlutterBloc的使用 BLOC说明 bloc 是一个可预测的状态管理库,有助于实现 BLoC 设计模式。简单和轻便,高度可测试,适用于 Dart、Flutter 和 AngularDart。 简单使用 声明自定义bloc类,继承于Bloc, 然后添加相应的事件对象和状态的处理(通过emit把新的状态反馈出去),如下: /// APP全局Bloc类 class AppGlobalBloc extends Bl 移动开发 2025年04月26日 169 点赞 0 评论 1525 浏览
拦截器,过滤器,监听器 过滤器(Filter):当你有一堆东西的时候,你只希望选择符合你要求的某一些东西。定义这些要求的工具,就是过滤器。 拦截器(Interceptor):在一个流程正在进行的时候,你希望干预它的进展,甚至终止它进行,这是拦截器做的事情。 监听器(Listener):当一个事件发生的时候,你希望获得这个事件发生的详细信息,而并不想干预这个事件本身的进程,这就要用到监听器。 小结 过滤器 过 移动开发 2025年04月26日 164 点赞 0 评论 8983 浏览
iOS知识复习笔记(16)---swift相关 一、函数的派发方式 swift函数的派发机制有三类:static直接派发(静态)派发、table函数派发,message消息派发。 直接派发也称为静态派发,指令集少,还会进行编译优化(函数内联) 2.函数派发是实现动态行为最常见的方式,通过函数表里面的数组来存储类声明的每个函数指针,称为vitual table, swift里叫witness table 3.消息派发其实就是oc那套消息发送了 移动开发 2025年04月26日 137 点赞 0 评论 7823 浏览
iOS 底层原理39:Instruments系列(五)Leaks iOS 底层原理 文章汇总 引言 iOS 5.0之后apple引入了Xcode编译器特性ARC(Automatic Reference Counting,自动引用计数)来帮助开发者管理内存,但为了追求app的高性能与减少安装包大小,工作中很多时候需要我们手动管理内存。再牛的开发者也不能保证自己写的code 100%没有内存泄露,出现内存泄露不可怕,可怕的是我们时间与精力花了大把,但内存泄露依旧 移动开发 2025年04月26日 159 点赞 0 评论 19850 浏览
SAS编程-ADaM:Efficacy Analysis Flag的两种生成方法 临床试验会针对Efficacy Endpoints进行Efficacy分析,这些分析是针对特定的Efficacy Paramters。纳入Efficacy分析的人群,通常是基线以及基线后至少一次访视值不为空 (With non-missing values at baseline and at least on post-baseine visit)。 在SAP中,分析人群会有明确定义。在ADaM 移动开发 2025年04月26日 106 点赞 0 评论 1387 浏览
Spring的3级缓存和循环引用的理解 此处是我自己的一个理解,防止以后忘记,如若那个地方理解不对,欢迎指出。 一、背景 在我们写代码的过程中一般会使用 @Autowired 来注入另外的一个对象,但有些时候发生了循环依赖,但是我们的代码没有报错,这个是什么原因呢? 二、前置知识 1、考虑循环依赖的类型 此处我们考虑 单例 + @Autowired 的循环依赖,不考虑使用构造器注入或原型作用域的Bean的注入。 2、代理对象何时创建 移动开发 2025年04月26日 31 点赞 0 评论 10748 浏览
Fragment版本变化 FragmentContainerView FragmentContainerView继承自FrameLayout, 可以动态添加FrameLayout 支持android:name 和 android: tag属性。 <androidx.fragment.app.FragmentContainerView xmlns:android=" 移动开发 2025年04月26日 119 点赞 0 评论 10472 浏览
iOS重学之启动优化(三)- Clang插桩 写在前面 在 上一篇文章iOS重学之启动优化(二)- 二进制重排 最后我们提出了一个问题:如何精确获取应用启动时刻的符号调用顺序,本篇文章我们就来详细介绍如何通过Clang插桩来对所有的符号进行100%的Hook。 Clang插桩 LLVM内置了一个简单的代码覆盖率检测(SanitizerCoverage)。它在函数级、基本块级和边缘级插入对用户定义函数的调用,并提供了这些回调的默认实现。在认为启 移动开发 2025年04月26日 106 点赞 0 评论 19494 浏览
基于Telegram二次开发 --- MTProtoKit 架构 MTProto 是 Telegram 的核心协议,旨在支持多种传输协议;当前版本的 Telegram-iOS 仅支持 TCP 传输;HTTP 传输已于 2018 年删除;VoIP 模块 libtgvoip 支持 UDP 和 TCP 传输。 MTProtoKit 源码仓库 MTProto 官方文档 Telegram-iOS 在 Network 内置了用于冷启动的种子地址: let seedAdd 移动开发 2025年04月26日 38 点赞 0 评论 15010 浏览
手写Android-Handler Handler机制,是Android系统的消息队列,一般用于处理主线程的页面绘制等消息处理。 前言 Handler除了Java层外,还有Native的部分,但我能力有限,只能仿写一个Java层的Handler,并且支持延时消息。项目地址:MiniHandler 注:由于消息机制需要使用一个while死循环来让线程不能结束,所以直接将MiniHandler在Android主线程中使用会卡住主线程,所 移动开发 2025年04月26日 143 点赞 0 评论 8177 浏览