ArturoYi
共 21 篇
状态管理
SwiftUI 按所有权从 @State 排到 environment。UIKit 改完模型,再在一处写进控件。页面变大之后用 MVVM 或单向数据流。Combine、RxSwift、ReactorKit、TCA 负责把变化送出去。
iOSiOS · SwiftUI · UIKit · 状态管理 · MVVM
浅谈 iOS 事件的传递和响应过程
传递和响应分开记。传递用图看 hitTest 怎么从窗口找到一个视图,响应用图看消息怎么沿 next 向上。
iOSiOS · UIKit · 事件 · 响应链
Lockify:把账号和密码留在自己的手机里
一款纯本地的密码保存应用。数据只写在当前设备上,不设账号、不上云、不收集使用数据。
博客 · FlutterFlutter · Lockify · 本地存储
设置启动图
在 Xcode 16 里给 UIKit 项目换启动图。Info 里的 UILaunchScreen 和 LaunchScreen.storyboard 都能做纯色背景、居中 Logo 或整张铺满。
iOSiOS · UIKit · Xcode · 启动图
路由管理
UIKit 用导航控制器上的页面栈管跳转,SwiftUI 用 NavigationStack 的 path 管跳转。两边都收成一个 Router,目的地用枚举。
iOSiOS · UIKit · SwiftUI · 路由
算法基础1:复杂度分析
有句话说的好:复杂度分析是数据结构和算法中最重要的知识点,毫不夸张的说,这就是数据结构与算法学习的核心所在。你学会了它你就入的了门,你学不会它,你就永远不知道门儿在哪。
算法学习算法
安卓代码加固(1):加密DEX
构建期把 :hidden-landing-page 打成 AES-256-GCM 密文,以 HDX1 头写入 AAR assets。
AndroidAndroid · AES-GCM · DEX
安卓代码加固(2):Native解密
libhiddendecrypt.so 自实现 AES-256-GCM。Java 不接触明文 DEX,用完立刻清零。
AndroidAndroid · JNI · AES-GCM
安卓代码加固(3):内存加载
解密后的 dex 只存在于 ByteBuffer 中,用 InMemoryDexClassLoader 加载,不写入 filesDir。
AndroidAndroid · ClassLoader · DEX
安卓代码加固(4):指令分发
公开入口只有 invoke(Int, Any?, Any?)。指令含义不进入 AAR,native 按整数查找方法。
AndroidAndroid · JNI · API
Copyright © 2026