移动开发

浅谈NSProxy

什么是 NSProxy     在苹果官方文档中是这样对 NSProxy 描述的:一个抽象的根类,通常,发送给代理的消息被转发到真实对象,或使代理加载(或转换为)真实对象。头文件代码如下: @interface NSProxy <NSObject> { __ptrauth_objc_isa_pointer Class isa; } + (id)alloc; + (id)all

关于iOS,iPhone手机,SideStore签名掉签,重新二次自签应用的解决方法,签名了应用还是无法打开措施解决

关于 SideStore 的签名,二次签名,签名掉签,签名了应用还是无法打开措施解决 场景:使用SideStore 忘记签名,签名过期 场景复发:由于没有WIFI无法签名,前13小时签名无法签上,签名失败错误,忘记签名 目的:保留数据二次签名

13.优化 - 线程监控(matrix)

  本文来分析下matrix对于线程的监控,matrix对于线程的监控主要 hook pthread 的pthread_create pthread_detach pthread_join pthread_setname_np 几个方法。 原理   先来看下为什么 hook pthread 的几个方法就可以监控到线程。 一般的 java 线程写法 new Thread(new Runable{

package.json 和 package-lock.json

1. 前言 应该很多人 搞不清楚, 我们天天见天天用的 这个 package.json 和package-lock.json到底有啥关系 那今天就来捋一下 2. package.json 首先在说下这个 我们自以为觉得熟的不能在熟的package.json package.json是帮我们管理项目中的依赖包的,让我们远离了依赖地狱。 遵循commonJS规范 ,通过 npm管理,

关于安卓DialogFragment使用(二)

关于安卓底部DialogFragment基类封装(二) 上文封装了一个普通的dialogfragment dialog fragment 是基于Android X DialogFragment 进行封装的。 本文将会基于BottomSheetDialogFragment进行封装。 对比普通的DialogFragment进行封装,不同的是,BottomSheetDialogFragment是专门用于

iOS自动化核心要素之WDA.app

1. 为WDA这个APP申请bundleid,即应用idStep1、使用苹果开发者账号登录 Apple Developer 网站。Step2、进入 Certificates, Identifiers & Profiles 在左侧菜单选择 Certificates, Identifiers & Profiles(证书、标识符和配置文件)。        依

子线程发出的通知,主线程如何接收处理

1.关键点是在主线程的runloop中加入一个machport2.在子线程中,1)将要发出的通知加入一个数组中,然后通过主线程中的machport发出消息2)在主线程中接收port来的消息,但其内部其实是访问主线程生成的数组(该数组在子线程中也能进行操作,怪不得要加锁)即可。3.注意在主线程中处理通知的要区分出来当前线程(通知的监听者还能处理不同线程的)4.NSMachPort是线程间通信的一种方

ThreadLocal 超强图解,这次终于懂了~

前言 大家好,我是小彭。 在前面的文章里,我们聊到了散列表的开放寻址法和分离链表法,也聊到了 HashMap、LinkedHashMap 和 WeakHashMap 等基于分离链表法实现的散列表。 今天,我们来讨论 Java 标准库中一个使用开放寻址法的散列表结构,也是 Java & Android “面试八股文” 的标准题库之一 —— ThreadLocal。 本文源码基于

IntelliJ IDEA / Android Studio 里直接跑 Cursor(不用来回切窗口)

最近Cursor用的飞起,但是调试代码还是在IDEA中比较顺手,所以最近的状态一直是:IDEA/AS 写代码 → 切 Cursor 聊天 → 再切回来改。切来切去,思路全没了。 于是我把 Cursor 的 cursor-agent 搬进 IDE 右侧面板,边看调试边聊天,顺手到不行,手感接近Curso