首先,将我们的任务简化为三个点。
最开始我们都很兴奋,只用了2到3天就完成了“近期动态”这一功能。毕竟对于我们来说,这是一项非常简单和熟悉的任务。
然后我协助Atul开发了视频动态功能。因为我还有其他几个项目,所以大部分时间我只在Android的视频库上进行研究,他会尝试一些实践性的代码。
然后有一天,他告诉我他将软件压缩到了10M!
其实这个大小已经很不错了,但我还是很“固执”。我尝试使用一些本地开发工具和方法来编译我们的ffmepg,为了减少大小,我只实现了一些一本功能,但是测试效果都不好。
日子就这么一天天过去,直到有一天他告诉我一个好消息:
他将软件压缩到了2.6M!(这可是最开始大小的12分之一!!!)
看来他也是一个“固执”的人!他在网上查了很多方法然后找到了最好的解决方案。他找到了一个本地C++编译的.so文件,这个文件包含了我们要使用的所有功能,并且只有4M,然后他将他压缩到只有2M大小的arr包。这是1.2版本apk文件的分析结果。
WhatSaga 1.2版本软件包分析
同时,我们也使用了proguard minify和drawable optimisation这些功能使得其他资源尽可能占用更少的空间。我们最终放弃了“语音动态”这个功能,几天后我们就在Play Store上线了我们的App。
我们叫他WhatSaga,这个名字结合了WhatsApp和Saga。Saga的意思是“传说”,这也是我们这款软件的主要功能。
让我们思考一下我写这篇文章的原因。想象一下如果我们不是那么“固执”!我们可能会在10-15MB这个版本上止步不前,或者更糟。当然这是跟2.6MB的最终版本相比而言的。
你可能会问,现代的手机内存和带宽基本都到达了GB级别,App的大小真的有那么重要吗?
答案是肯定的!App的大小比你想象的更重要。
假设有两个App,他们的UI是一样的,然后其中一个比另一个小3到4MB,你会选择使用哪个呢?很明显,大多数人都会选择更小的那款软件。更小的App大小意味着更多满意的用户。
择善固执!
没错,对于你正在做的任何事情,一定要择善固执!无论是软件的设计、运行时间、视觉质量和外观,还有其他的任何事情,你和你的团队都应该追求极致。在没有达到你的预期之前,千万不要放弃。
老实说,我认为在没有加入“音频动态”之前就上线我们的App是一个错误的行为,在这点上我也应该保持我的“固执”。