关于ANDROID模拟器的一些事
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!
继上一篇Android
Studio VS Eclipse的文章后接着来分享AnDevCon大会上的内容(这是别人分享给我的。导致中间非常多遗漏,很多都是我自己上网找资料补充的,请见谅),今天的主题是关于Android模拟器的一些事。
简单介绍:
Android Virtual Device就是我们常说的模拟器了。简称AVD或者Emulator。对模拟器的管理都在一个叫做Android Virtual
Device Manager里。
模拟器为什么这么慢?
大家都知道有模拟器这么一个东西,但为什么大家都不用。主要原因就是模拟器太慢了,所以肯定有人就抱怨说Google模拟器做的真垃圾。再看看IOS的模拟器。由于当初我就是当中一个,哈哈。
但为什么模拟器会这么慢呢?
主要原因就是CPU的问题。
如今Android手机上用的全部CPU都是ARM的,执行的都是ARM的android系统镜像。可是我们的台式机都是Intel的。所以我们在台式机上执行Android模拟器就会导致很的慢。所以解决的方法就是使用执行Intel系统镜像的android模拟器。
Android
x86模拟器&HAXM:
据说Intel也要进军手机CPU市场了。所以Intel推出支持x86的Android模拟器。
并且Intel还推出了一个硬件加速管理器:Intel
Hardware Accelerated Execution Manager 简称Intel HAXM.
在Intel的电脑上执行这个x86模拟器再配合HAXM将会得到和Android真机相媲美的执行效果。我看过他的演示效果。大概启动到执行须要4,5秒吧,并且特别流畅。
由于我家里SDK下载实在太慢了,所以我没有安装他,大家假设感兴趣能够下一个。网上非常多相关教程帖子能够參考。除了懒另一个不装他的原因就是另一个更好的模拟器Genymotion。
更强大的模拟器-Genymotion。
Genymotion安卓模拟器事实上不是普通的模拟器,严格来说,genymotion是一个虚拟机。
因为他的种种特性和长处如今被越来越多的开发。測试甚至游戏玩家所使用。
接下来说说我使用了一个多月的感受:
长处:
1.速度
速度真的很快。
全然媲美真机。在我电脑上从点run開始启动模拟器到程序执行仅仅用5-10秒钟,之后模拟器不用关闭。基本就是点run之后瞬间执行。响应速度和流畅度真的和真机没有区别。
2.全机型模拟
能够选择市面上差点儿全部主流的手机设备。平板略微少一些。只是能够自定义随意大小屏幕和配置来解决问题。所以Genymotion特别适合那种设备不齐全。设备不多的情况。
3.鼠标(触摸板)加键盘操作
速度上来后模拟器的优势就体现出来了,再也不须要拿着手机按来按去。或者连着usb线各种方向的转屏。直接鼠标点击(鼠标差一些,我用的触摸板感觉更方便)。键盘输入,特别快捷。
当然多点触摸和传感器什么的略微费劲一点,只是应用开发这些一般非常少涉及这些。
4.能够同一时候启动多个模拟器
有的时候大家都会遇到这种情况,改一点小问题执行看下效果,再改一点再看效果。或者平板手机同一时候开发,须要两边一起观看效果。
这时我就会执行2,3个模拟器加上1,2个真机轮番作战,效率大大提高。
5.特别适合在家里开发
在家里开发不可能有那么多设备,这时候有个模拟器一切问题都攻克了。
6.安装软件
安装软件能够从桌面直接拖拽到模拟器中安装,相当的方便。
7.能够随便折腾
中国的手机都是没有Google框架和服务的,用不了Google Play。Google+,另一些其它Google推出的一些app。由于在有非常多时候我们须要模仿国外大公司产品的特效或者界面,这时候就须要去执行它(Google Play装好以后直接搜索想安装的软件就能够了。但须要代理或VPN)。
Genymotion的优势又出来,框架、服务随便装,随便弄,直接下好拖拽进去即可了。弄乱了弄坏了再建个新的。
8.截图
在执行中有什么问题或须要直接截图到电脑。比用手机截图方便非常多。
缺点:
1.偶尔遇到和真机效果不同的地方。公司的项目有个自己定义的搜索栏。用真机能够正常输入,但模拟器点不进去,一直不知道什么原因,除了这一个问题以外没有再发现类似情况。
2.偶尔会直接从程序里弹出来,看log应该是模拟器图形内存的问题。只是遇到这样的情况再执行一次就好了。
3.模拟不了kindle。应该是由于kindle的系统高度自制的原因吧。
Genymotion的中文官方http://www.genymotion.cn/
使用前须要注冊一个账号。并且要装Virtual Box虚拟机,非常easy,网上教程非常多。
总结:
说了这么多,目的还是和上次的Android Studio那篇文章一样。就是希望没用过的都来试试。
最后放几张关于Genymotion的使用图片。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTM5NjkwMTk5MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
最初执行Genymotion是没有Google框架和服务的,装好gapps后就多了Google Play,Google+,Gmail等应用
Google+
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTM5NjkwMTk5MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
Gmail截图
Google Play截图
facebook截图。大家有的话能够加我好友啊,哈哈。
。。
关于ANDROID模拟器的一些事的更多相关文章
- eclipse中如何查看一个android模拟器的内部文件
eclipse中如何查看一个android模拟器的内部文件,有时要在其中添加一个文件夹或是什么的,要手动的做这件事,而不能够用代码去完成时,就要用这个方法了. 1.首先,打开一个安卓模拟器. 2.这个 ...
- 比真机还快的Android模拟器——Genymotion
比真机还快的Android模拟器--Genymotion ----转载请注明出处:coder-p ...
- Android零基础入门第7节:搞定Android模拟器,开启甜蜜之旅
原文:Android零基础入门第7节:搞定Android模拟器,开启甜蜜之旅 在前几期中总结分享了Android的前世今生.Android 系统架构和应用组件那些事.带你一起来聊一聊Android开发 ...
- 第三方Android 模拟器流畅速度快,适合开发人员
“工欲善其事,必先利其器.” 使用Android模拟器开发和调试应用肯定比使用真机方便.但相比XCODE的IOS模拟器,Android SDK自带的AVD实在不争气,不过一些第三方的模拟器却表现不俗! ...
- Android 谈谈封装那些事 --BaseActivity 和 BaseFragment(二)
1.前言 昨天谈了BaseActivity的封装,Android谈谈封装那些事--BaseActivity和BaseFragment(一)有很多小伙伴提了很多建议,比如: 通用标题栏可以自定义Vi ...
- android模拟器没有键盘的解决方法
刚开始使用android模拟器的时候,发现自己创建的AVD启动后没有出现侧边的键盘,在网上搜索后,发现很多人都有这个问题,也有文章说直接使用PC上的键盘,因为有对应的快捷键.但是,没有键盘,始终不爽! ...
- 向Android模拟器中批量导入通讯录联系人
使用adb命令向Android模拟器中批量导入通讯录联系人的方法: 使用adb提供的命令, 可以非常方便地从PC中将通讯录批量导入android模拟器中. 首先要先准备好固定格式的vcf文件, 该文件 ...
- Andy - 又一款速度流畅的免费安卓 Android 模拟器 (支持手机无线控制电脑模拟器)
随着 Genymotion.BlueStacks 等电脑上的 Android 模拟器流行起来之后,似乎很多人都发现在电脑上运行使用安卓APP软件.畅玩手机游戏确实很有乐趣. 今天我们又发现了一款全新免 ...
- android 模拟器上网问题
android 模拟器上网问题 1.配置Adroid环境变量(Win7为例) ,启动模拟器 第一步:桌面右键——>我的电脑——>高级系统设置 第二步:高级——>环境变量——&g ...
随机推荐
- MySQL基础 - 权限配置
为数据库创建特定的用户和密码 mysql>grant all privileges on <database>.* to '<username>'@'localhost' ...
- elasticsearch学习笔记--原理介绍
前言:上一篇中我们对ES有了一个比较大概的概念,知道它是什么,干什么用的,今天给大家主要讲一下他的工作原理 介绍:ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户 ...
- 进程同步——哲学家进餐问题Java实现
哲学家就餐问题是1965年由Dijkstra提出的一种线程同步的问题. 问题描述:一圆桌前坐着5位哲学家,两个人中间有一只筷子,桌子中央有面条.哲学家思考问题,当饿了的时候拿起左右两只筷子吃饭,必须拿 ...
- SQLSERVER中的非工作时间不得插入数据的触发器的实现
create trigger trigger_nameon table_namefor insert,update,deleteasif (datepart(yy,getdate())%4=0 or ...
- MySQL学习笔记:生成时间维度表2
实现目的: 测试: # 测试 加一秒 SECOND), INTERVAL SECOND); SECOND),'%H%i%s');# 第一秒 SECOND),'%H%i%s');# 最后一秒 SELEC ...
- PHP性能调优---php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)
虽然通过nginx accesslog可以记录用户访问某个接口或者网页所消耗的时间,但是不能清晰地追踪到具体哪个位置或者说函数慢,所以通过php-fpm慢日志,slowlog设置可以让我们很好的看见哪 ...
- Spark(十六)DataSet
Spark最吸引开发者的就是简单易用.跨语言(Scala, Java, Python, and R)的API. 本文主要讲解Apache Spark 2.0中RDD,DataFrame和Dataset ...
- day6面向对象--继承、多态
继承 继承:就像遗传一样,继承就是拥有父类的所有方法和属性,并且能够定义自己独特的属性和方法,对上面的类进行扩展. 可以什么都不写,直接继承父类,如下: class People(object ...
- Cordova 打包签名
1.第一步 在项目根目录下运行命令cordova build --release android,会在testApp\platforms\android\build\outputs\apk目录下生成一 ...
- 2018年全国多校算法寒假训练营练习比赛(第一场)J - 闯关的lulu
链接:https://www.nowcoder.com/acm/contest/67/J来源:牛客网 题目描述 勇者lulu某天进入了一个高度10,000,000层的闯关塔,在塔里每到一层楼,他都会获 ...