经常看到一些人把服务器上的优化目标和策略应用到移动端,例如,总是希望不留余地的得到最优解。殊不知,最优解在移动端上根本不存在。服务器上运行程序/benchmark就那么几个,工程师几乎可以枚举所有场景——在这些场景中使能够选择一个最优解。在移动端上,那么多不同配置的平台,那么多应用开发者,鬼才知道有多少个场景。因此,无论是在设计时还是在做优化时,要记住一条:目标是不坏的设计,策略是留有余地。
Google在这方面做的很棒,虽然平台碎片化被人一直诟病,但是它的软件设计,例如VM,似乎总能表现出较好的“兼容性”。