关于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 ...
随机推荐
- Oracle 函数 “把当前的用户(审核人,审核通过后)插入到数据表中”
create or replace function mcode_apply_update_personnel(p_mca_no VARCHAR2, -- 参数(实参) p_action VARCHA ...
- CSS3实现扇形动画菜单特效
CSS3实现扇形动画菜单特效 效果图: 代码如下,复制即可使用: <!DOCTYPE html> <html> <head> <meta charset=&q ...
- JavaScript工程师都应懂的33个概念
最近福利发的有点多啊,各种硬干货,小伙伴们是不是觉得很爽啊.Github真的蕴含着各种各样的宝藏,难怪各个大厂也都纷纷贡献自己的代码到Github上. 所以各种干货还是会源源不断的po给大家,觉得有帮 ...
- day5模块学习 -- time、datetime时间模块
1.定义 模块:用来从逻辑上组织python(变量,函数,类,逻辑:实现一个功能)代码,本质就是.py结尾的python文件(文件名:test.py,对应的模块名test) 包:用来从逻辑上组织模块的 ...
- python实现获取系统版本和mac信息上传到指定接口
import os,platform,uuid,urllib.parse,urllib.request,json def BeforeSystemRequests(): ''' the systemi ...
- JSP的学习二(指令与标签)
一:page指令 1.JSP的指令 放在<%@ 指令 属性=“值”%> 主要有page,include,tablib. 2.page指令 用于定义JSP页面的各种属性,作用于是JSP的整个 ...
- Mongoose关于当天日期的查询
参考:https://blog.csdn.net/difffate/article/details/70312894 Ant Design Pro中,有关于日期的查询条件,但日期是以数字表示的 Req ...
- IOS常用第三方类库
开发几个常用的开源类库及下载地址: 1.json json编码解码 2.GTMBase64 base64编码解码 3.TouchXML xml解析 4.SFHFKeychainUtils 安全保存用户 ...
- 三、redis系列之事务
1. 绪言 Redis也提供了事务机制,可以一次执行多个命令,本质是一组命令的集合.一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不许加塞.但Redis对事务的支持是部分支持 ...
- Java 中类的初始化过程
先来一张 JVM 中的内存模型 . 在Java 虚拟机原理这本书中介绍了类会被初始化的 5 种情况 . 1 遇到 new getstatic putstatic 和 invokestatic 这 4 ...