新东方在线app

我要开发同款
橘子的鱼2023年04月15日
70阅读
所属分类APP

作品详情

android团队Leader,整体架构设计。项目开发 在新东方在线项目开发过程中,作为 Android 组的 Leader,我主要负责整体架 构设计、 功能迭代、性能、体验优化。解决问题如下: 1. 为了优化内存,了解到 zygote 在 fork 的新进程会继承预加载的resource 资源,这些 资源基本是系统的资源,然后通过反射获取将其移除。降低内存 20M 左右 2.为了提升崩溃日志写入速 度,使用了基于 mmap 的 MappedbyteBuffer 减少系统拷贝 到内核带来的性能损耗,提升速度数倍 3. 为了优化包体积,采用动 态加载 so,方案是往 nativeLibraryPathElements 的最前 面插入一个 NativeLibraryElement, 还包括资源加载采用 xxhdpi 一套、 混淆代码 4.为了减少崩溃带来的用户损失率,打造了一个不闪退的 app,通过虚拟机调用 thread 的dispatchUncaughtExecption,来到我们自己的 uncaughtException 方法,清空所有状 态信息,推出当前的 activity,不触发系统 的检测(卸载 app) 5.优化 mvp 架构,P 调用 V 时每次判断不为 null,在基类中采用代理统一判断,通过 注解的方式解决 V中对应多个 P 的多次创建 6.为了检测项目运行的流畅度,使用了 Looper 配合 Choreographer 实现了每个 Activity 的帧率信息统 计。
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论