我们有一段Android CPU相关的代码,我想知道客户使用的设备中有多少是ARMv6/ARMv7,如果还有ARM v5,ARMv6中有多少带有VFP,Tegra或Neon的占比是多少。请问在哪里可以找到这样的统计数据?敬礼 STeN
如果您想收集此类数据,只需执行“cat / proc / cpuinfo”并将此数据提供给googleanalytics帐户即可 :)(我正在通过这种方式进行大量研究)。如果您正在寻找已经制作的统计数据,我认为它们中的任何一个都已过时 :) 普通智能手机用户每年或两年更换一次手机,取决于运营商政策, 如果是你的话,我会忘记armv6 / armv7和neon,armv6目前仅在中国某些垃圾手机上销售:),而且neon非常好,但例如tegra2与其不兼容, 另一方面,tegra2约占市场份额的0.05%,vfp在每个armv7中都受支持,而arm v7约占市场份额的95%或更多。我怀疑使用Google Play或实际上支付应用程序费用的任何人都使用armv6或任何旧设备, 大多数Google Play用户使用三星Galaxy,例如,我的应用程序的总下载量中约有20%在Galaxy S2上下载,10%在Nexus上下载,看起来支持所有/较旧的设备根本不是一个好主意,需要花费很多时间,而付费用户通常使用高端手机。
最后我认为这种数据并不能改变您编写应用程序的方式,因为无论报告称情况如何: Play商店应用程序不检查此类功能 考虑到上述声明,仅在运行时检查技术支持的正确运行应用程序唯一方法是,例如,您必须检查设备是否支持NEON,并且作为程序员,这是您的问题,Play商店不会检查。 如果您没有使用特定的指令集,那么您就不会遇到这个问题,因此这个问题应该在3、2、1……被清除! 另一个要考虑的因素是ARM是一个可以有多种形式的体系结构,我的意思是,如果您选择像Tegra 2和OMAP 4430这样的2个商业产品,它们都是ARMv7设备,但Tegra 2不支持NEON,而整个OMAP 4系列支持这种寄存器,因此甚至指令集标签也不能真正告诉您设备本身的实际潜力。最后,值得知道的是,Play商店对此毫不了解,了解最常用的平台并不真正有所帮助,最终您总是需要执行相同的任务,并且检查此类功能取决于您。