手机内存变小如何恢复|手机内存清理方法( 三 )


文章图片

按大小排序的大型资产列表
第一个也是最大的项目是React Native JavaScript包 。目前还不可能拆分和动态加载 , 但是将在稍后看到如何缩小它 。沿着建议列表进一步向下 , 我们看到许多大型字体(TTF)和图像(JPG和PNG)资产 。
 
不需要的图片
 
内部Storybook工具中使用的四张巨大的JPG图片吸引了我们的注意力 。他们给生产APK增加了额外的2MB垃圾!
 
在软件工程这个复杂的世界里 , 人人都会犯错误 。我相信与同行分享这些经验时 , 大家都可以从这里学习到很多 。如果不跟踪应用程序不断增长的规模 , 很可能也会犯这些失误 。
 
字体
 
在迅速摆脱这些大图之后 , 我们不断地查看列表的其余部分 。很明显 , 有大量的字体被捆绑 。在与设计团队交谈后 , 他们告诉我们许多旧组件没有严格遵循排版指南 。
手机内存变小如何恢复|手机内存清理方法
文章图片

图源:unsplash
所以我们确定了哪些组件可以被移除 , 哪些可以使用类似的更新字体 。通过此法 , 我们把字体的使用从六个减少到四个 。
 
另一个问题是字体资产大小巨大无比!每个字体大小几乎达到了670KB 。这意味着四种字体占了未压缩包高达2.7MB的大小 。
 
有一个名为FontForge的工具 , 可以更深入地查看和修改这些字体文件 。打开后可以看到大部分的资产规模可以用扩展的西里尔文字和其他不需要的字形来解释 。这些都可以被删除 , 因为应用程序完全是葡萄牙语 。
 
随着这一变化 , 每个字体大小从670KB缩小到70KB , 减少了90%!
手机内存变小如何恢复|手机内存清理方法
文章图片

字体中包含的一些字形的示例
删除不需要的字体并优化剩余的字体总共减少了3.8 MB , 这意味着最终APK的大小减少了2 MB 。
手机内存变小如何恢复|手机内存清理方法
文章图片

手机内存变小如何恢复|手机内存清理方法
文章图片

删除两个字体并优化剩余字体前后对比
优化图像
 
在剩下的图像中有一些是相当大的 。我们通过图像优化工具(tinyjpg)优化了其中的几个 , 大小缩减了很多 。之后 , 我们决定优化应用程序内使用的所有41个JPG和PNG资产 。
手机内存变小如何恢复|手机内存清理方法
文章图片

优化的图像的前后
这使图像资产从2.5MB减少到756 KB , 减少了70% 。但是图像本身没有优化 , 在生成最终APK的过程中已经被压缩了 。因此 , 实际上只为最终用户削减了500 KB 。