原标题:32位和64位到底有什么区别?
最近关于大家手机中的微信,是32位还是64位的讨论开始大量出现。有网友称,Google Play中的微信版本是64位,在体验上要比32位的好,而具体的查询方法也很简单,只需打开微找到“我的—关于微信—双击版本号上面的图标”即可,如果[eabi]这一行标有64,即是64位版本,而显示armebi-v7a则说明是32位。
面对网络上的热议,微信方面也很快做出反应推出了7.0.9正式版,并且还单独新增了64位版本。看到这里,相信手持iPhone的朋友可能会面露不屑,“APP难道还有不是64位的”?没错,但其实早在iPhone 5S时代,苹果方面就已经要求开发者准备64位应用,并在iOS 11上全面取消了对32位应用的支持,如今iOS上也已实现了APP的全面64位化。
事实上经过了很多网友的测试之后发现,在使用体验上64位微信并没有与32位版本拉开明显的差距。而之所以在体验上没有明显差距,其实与32位和64位到底是什么有着密切的关系,由于计算机设备是用二进制0和1(实际是高电位和低电位)来表示信息,因此32位和64位则分别指的就是处理器在单位时间内,能一次处理的二进制数的位数分别为32位和64位。
从某种意义上来说,64位处理器的性能要更强,因为32位处理器一次只能处理32位也就是4字节的数据,而64位处理器则一次可以处理64位即8字节的数据。所以在工作频率相同的情况下,显然64位处理器的处理数据速度更快,这也是理论上64位更强的依据。
除了对数据处理的不同效率,其实32位与64位最大差异是在支持的内存上有所区别,而这里的内存指的是地址空间,不是物理内存。32位系统的最大寻址空间是2^32(大约4GB),64位系统的最大寻址空间则是2^64,,这就导致64位应用可以使用动态内存分配,将一个大于4GB的程序放进内存进行处理,而32位应用就只能使用类似“分块读入”的办法。但在实际使用中,64位系统巨大的内存空间也会增加寻址开销,加速物理内存的消耗,并导致总体效率不会明显提升。
支持64位的处理器+支持64位的Android系统+64位的应用合在一起,才能实现效率加成,而这三者则是缺一不可,但这其中最难实现的反而恰恰是第三点。尽管在效率上64位系统并不会有跨越式的提升,但由于其能够兼容32位应用,反之则不然的特性,也使得64位处理器更强的性能和64位系统的普及成为了大势所趋。