- 熟练掌握Objective-C/React Native编程 了解 Swift编程
- 熟练掌握MVC、MVVM、代理、单例、工厂等设计模式
- 熟悉OC的内存管理机制、运行机制
- 了解iOS逆向工程
- 熟悉HTTP协议
- 熟悉网络处理、多线程
- 版本管理:Svn/Git
社交类项目
- 降低AppCPU 启动峰值过高问题 拆解AppDelegate 过多SDK初始化问题 延迟部分SDK 初始化时机 及拆分主控制器初始化接口(任务)调用过多 及调正首页数据加载方式和预加载机制
- 降低App OOM崩溃 用VMMap 分析App 各对象内存使用情况及 malloc_history 分析memoryGraphic 定位具体调用堆栈
- 比例大图加载问题 解压缩导致内存占用问题 和同事共同制定图片加载格式及在不同手机适配(OSS)及设置图片在App占用上限
- 编写监控线程个数功能 监听线程开启过多堆栈协助开发
- 用Python编写提升工作效率小工具
- 编写直播弹幕功能,礼物效果
互联网医院项目(OC+React Native)
采用了Mobx 状态管理 +MVVM 方式进行开发。 及原生库封装提供给RN方使用和三方库集成(codepush等)
利用WebSocket编写IM聊天功能组件 自定义UI 视图 一次性接收大量消息处理 和消息重排问题 及本地化消息处理 消息断链 重试机制 自定义消息体 和抽取消息模块 进行Npm 库 封装
- 编写基础组件进行npm 库封装抽离 方便之后开发维护 提高开发效率。
- 利用Metro 进行budle业务包拆分。
- 使用内联引用 延迟模块和文件的加载
导游项目 (游客端+导游端 OC+React Native )
帮助团队从iOS项目转型React Native项目。
- 项目组件的编写和优化、封装原生UI视图封装原生方法、
- 使用DiffAndPatch算法 拆分成基础包和业务包(优化项目启动过慢的问题 )
- 使用Mobx状态管理 集成CodePsuh 实现热更新等
- 解决项目启动白屏问题
- 自定义手势编写RN下Item上下拖动功能
项目遇到比较棘手的是优化项目启动问题,采用bundle拆分方案用DiffAndPatch算法 拆分成基础包和业务包。
优点: 1. 技术方案简单,实现快 2. 稳定、不用担心RN升级问题
缺点: 1. 内存占用大 2. 业务之间资源和代码没法互相引用