熟练 Java、C/C++编程语言 熟悉计算机网络 HTTP/TCP/IP 协议 熟悉设计模式、常见的数据结构和算法 了解 JVM 虚拟机 了解 Android 系统源码、了解 Linux 内核机制 开机启动、binder 驱动、Handler 消息机制、图形渲染、input 事件、Ashmeme 熟悉 NDK 开发 了解 OpenCV 人脸美容、人脸识别 熟悉 Android 主流开源框架的源码 Okhttp、Glide、ButterKnife、EventBus、Rxjava 工作经历
在新东方在线项目开发过程中,作为 Android 组的 Leader,我主要负责整体架构设计、 功能迭代、性能、体验优化。解决问题如下: 为了优化内存,了解到 zygote 在 fork 的新进程会继承预加载的 resource 资源,这些 资源基本是系统的资源,然后通过反射获取将其移除。降低内存 20M 左右 为了提升崩溃日志写入速度,使用了基于 mmap 的 MappedbyteBuffer 减少系统拷贝 到内核带来的性能损耗,提升速度数倍 为了优化包体积,采用动态加载 so,方案是往 nativeLibraryPathElements 的最前 面插入一个 NativeLibraryElement, 还包括资源加载采用 xxhdpi 一套、混淆代码 为了减少崩溃带来的用户损失率,打造了一个不闪退的 app,通过虚拟机调用 thread 的 dispatchUncaughtExecption,来到我们自己的 uncaughtException 方法,清空所有状 态信息,推出当前的 activity,不触发系统的检测(卸载 app) 优化 mvp 架构,P 调用 V 时每次判断不为 null,在基类中采用代理统一判断,通过 注解的方式解决 V 中对应多个 P 的多次创建 为了检测项目运行的流畅度,使用了 Looper 配合 Choreographer 实现了每个 Activity 的帧率信息统计。
在新东方在线项目开发过程中,作为 Android 组的 Leader,我主要负责整体架构设计、 功能迭代、性能、体验优化。解决问题如下: 为了优化内存,了解到 zygote 在 fork 的新进程会继承预加载的 resource 资源,这些 资源基本是系统的资源,然后通过反射
POS应用开发,负责离线架构设计,内存优化,运行速度优化,crash抓取,日志埋点开发,APP离线断网使用,JNI开发,大图片优化处理。