为什么Google会在Android上推广使用64位应用，而微软却完全没有废弃32位应用的计划？迁移到64位有这些好处和坏处:

1. 有更多的通用寄存器供程序使用，可能可以提升性能

2. 可以使用新指令集带来的新特性

3. 支持更大的地址空间

4. 指针占用更多空间

5. 编译产物体积稍大

6. 无法在32位系统中运行，除非在程序包中包含两种架构的原生库

7. 为了同时支持32位和64位，开发者需要做更多测试和打包工作

同样是有从32位到64位的变迁，Google通过Play市场强制推广64位应用，微软却从来没打算废弃32位应用的支持。

既然Android和Windows都需要维持32位应用的兼容性，为什么两家对64位应用迁移的态度会完全不一样？

补充：如果微软真想让大家换64位，就算不放弃WoW64，也应该停止给32位SDK增加新特性和停止发布32位的第一方应用，至少不能让下游开发者开发新项目还把32位作为主要target。
一是PC上的软件用大量祖传shi山的库。很多软件可能每年出新版，但是核心的库是30年前写的，特别是行业软件。一旦变成64位，有些C程序员天马行空似的优化就会垮。比如指针当作整形用、整形当作指针用，int和size_t不分，long型默认4字节等等等等。30年前没有那么多框架可用，写应用逻辑大量使用低级语言（没错，就是说的C）。比如一个写工程软件或者计算软件的程序员，可能是自己本行业专家，但是在程序设计方面并不在行，写出来的东西勉强在i386下面能跑就行了。而安卓出现的时候已经大量使用框架了，至少也是JAVA、C#、SWIFT之类的高级语言(谷歌没有Objective-C的包袱)，当然现在甚至直接用H5包装成app了。所以普通的应用程序员不需要对架构做出太多假设也不会搞出麻烦，而真正拿低级语言（NDK）写程序的人比以前少的多得多，NDK程序员的水平也是最高的一批，知道自己在做什么。二是PC端对于指令集优化比移动端要求低得多，毕竟大部分应用场景是插着电源线的。三是PC端的大部分应用场景不需要在UI渲染上浪费计算资源，所以现代CPU性能在PC上显得更加过剩。而真吃计算资源的程序早就拿各种手段优化过了。四是PC上的应用绝大多数不走应用商店，所以微软无法像谷歌一样对用户版本进行精确控制。除了中国内地，谷歌可以精确地通过应用商店和系统激活数据知道市场上有多少个设备兼容每个软件版本，微软没有渠道知道这个。五是微软在消费级市场没有竞争对手。而谷歌需要特别考虑压低能耗、提高性能，从而和iOS生态在消费级市场直接对抗。macOS+苹果ARM芯片目前对于微软的威胁还很小。PC市场是非常路径依赖的市场，换平台的成本极高，而微软正好是路径依赖的获胜一方，当然不能自毁城墙了。而手机市场的路径依赖低得多，用户从安卓换到iOS或者从iOS换到安卓都是压力很小。所以谷歌和苹果都没有城墙，在推动变革上面有高得多的收益和急迫性。