Android开发简记:140M到67M,学而思网校如何在一周内构建一套可持续的瘦身系统?

Android开发简记:140M到67M,学而思网校如何在一周内构建一套可持续的瘦身系统? 插件技术使用时存在数据传递问题 自定义UI显示问题,权限重复申请等问题。 插件化的核心是ClassLoader,按照谷

**1. 时间平滑问题: **对于动画效果来说非常重要的是帧之间的时间平滑度。最初的程序控制设置为30ms采集一帧,但实际采集结果有的结果是30ms。如果时间的平滑度变化太大,效果就会不够。通过时间数据采集,我们发现由于系统内存回收,编码PNG时间和文件IO时间在采集后发生了变化。再次改变检索方式,采用双线程模型,增强缓存策略,保证30ms左右的时间平滑度。

**2.解决背景问题:**截图表格使用0XFFFFFFFF的纯白色背景。我发现我用了一些颜料去除了屏幕截图的白色部分。理论上,白色可以与任何Alpha 通道颜色值混合以获得目标颜色值。这意味着恢复Alpha 通道颜色值有些不切实际,我们再次遇到了这个问题。我检查了颜色混合公式Dst=(Src * Alpha + (256 Src.Alpha * Alpha/255) * Dst )/255。我认为在同一帧中使用白色背景和红色背景是不可能的。使用混合模式恢复像素的alpha 和RGB 值。于是我再次修改了采集程序,采集一个红色背景的动作和一个白色背景的动作,产生一组两个动作。通过创建相似性算法来查找每帧中的红色和白色图像,并反转颜料混合,我们可以按预期恢复Alpha 通道和RGB 值。

**3.解决噪点问题:**去除背景并恢复Alpha通道后,进一步分析代码发现少数图像存在零星噪点。虽然每帧的白色和红色边框不是100%匹配,但比较图像边缘发现仍然存在1-2个像素的误差。我开始了各种尝试来解决这个错误并去除噪声,最终找到了一种类似于卷积思想的合适算法。即还原白色(XY)颜料时,以白色为基框,以红色为对比框。周围红(X Y)9点卷积还原,无质量损失,彻底去除噪音~

为了解决三向问题,我们在Unity 3D中实现了拦截和旋转动画,每个动作帧的生成时间约为4分钟。随后创建了一个单独的动画组件,将内存控制在15m以内,并成功应用于两个项目。我们在最新的减重计划中采用了这一策略,取消了Unity 3D内核,并将尺寸减小了15m。功能仍然令人满意,目标成功实现。此次降包的主要计划是资源分离和分配、淘汰Unity 3D、去除少量冗余资源、整合媒体库。

减包计划实施难度?

多年来,编辑了解到,大多数入门级和中级Android工程师想要提高自己,往往必须自己探索和成长,这是不系统的、短暂的,我了解到这并没有帮助。

因此,我们收集整理了《2024年Android移动开发全套学习资料》册。最初的目的也很简单。换句话说,我们想帮助那些想学习、提高自己,但不知道从哪里开始的朋友。

一个人可以走得快,但一群人可以走得更远。无论是IT行业的资深人士还是对IT行业感兴趣的新人。

欢迎任何人加入我们的圈子(技术交流、学习资源、职场投诉、大公司内部推荐、面试指导),让我们一起学习、成长!

获取信息专栏

你可以走得很快,但也可以集体走得更远。无论是IT行业的资深人士还是对IT行业感兴趣的新人。

欢迎任何人加入我们的圈子(技术交流、学习资源、职场投诉、大公司内部推荐、面试指导),让我们一起学习、成长!

获取信息专栏

#以上Android发展简述:1.4亿到6700万,学而思网校如何在一周内打造可持续瘦身体系?相关内容来源网络仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91396.html

(0)
CSDN的头像CSDN
上一篇 2024年6月22日
下一篇 2024年6月22日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注