1、最近在学习android的开发,那么我从android官网下载了(偷偷告诉你修改hosts)最新的android studio1.4,是里面打包sdk的版本。
在安装的过程中,在其中一个页面选择需要安装的组件,其中有一个Performance(intel®HAXM)的内容,
其实当时并不知道是什么,反正就按默认的来,接着在后面需要设置大小
它这里默认是512M,第一次安装的时候,我看了一下,说明中有“you can change these settings at any time.”,心里想“后面可以随时改,那就默认的肯定没问题”,此处是坑,后面讲。
2、接着创建好了项目以后,我在“AVD Manger”打开默认的模拟器(这个模拟器其实是在安装平台 后第一次打开,平台预安装了一个 ),点击绿色箭头启动模拟器
3、接着我查看下方的Run窗口AVD页面中的控制台,输出几行语句,其中出现“HAXM is not working and emulator runs in emulation mode”,颜色标识为异常。当时也
并没有当回事,但是出现一个情况,我的模拟器窗口一直停止在“Android”字样,并且差不多几个小时没有变化,然后开始查找原因。
第一步:去sdk中查看是否安装了这个组件,发现没有,就按下面的方式操作了一下:
安装完毕以后,又试着去启动模拟器,还是不行。
第二步:最后在stack flow (http://stackoverflow.com/questions/21031903/how-to-fix-hax-is-not-working-and-emulator-runs-in-emulation-mode),找到答案,就是
我们前期设置的HAXM大小必须大于等于AVD中模拟器的RAM大小,我的HAXM安装时默认大小为500M,但是我模拟器的RAM默认为1536M。
3、所以我的解决办法就是把两个数值都修改为1G,而修改HAXM的大小,就是上面说的坑爹的地方,说好的随意修改的,然后知道怎么修改嘛?对,就是重新安装。
平台把HAXM下载到我们的SDK的路径下,具体为“sdk\extras\intel\Hardware_Accelerated_Execution_Manager”,只需双击“intelhaxm-android.exe”(默认覆盖即可),然后记得设置一下HAXM的大小,比如我设置为1G和RAM一样。
最后,说下HAXM,这个是intel公司提供的一个可以提高仿真器CPU性能的一个软件组件,我粗浅的理解是google等一些公司按照自己对cpu的认知,模拟了cpu的处理
过程,但是毕竟intel才是专业的,所以就插上一杠,提供一个优化的方案。这是我瞎猜的,具体的见官方介绍。