用Xamarin + VS 编写Android程序体验及其与Android Studio的比较
昨天看了微软2016Build大会,Xamarin免费了。恩,5亿美刀的家伙,哈哈,我也要体验一下.....
1. 首先在Xamarin官网下载安向导:https://www.xamarin.com/download
2. 点击运行后,按照自己的需要,选择要下载安装的部分(已经安装有的就不需要安装了,比如 Android SDK)。
3. 安装完毕打开Visual Studio,点击菜单 Tools --> Options... -->Xamarin --->Android Settings
根据自己的软件安装位置修改一下开发包的路径,然后点击OK(若在第2步选择的是全部安装,则可忽略这步):

4. 新建工程: File --> New --> Project... 选择 Android Bland App(Android) :

至此,一个新的Solution 就建好了。点击运行,即可开始调试(运行虚拟机或者真机调试),如果没有创建有虚拟机,可以点击菜单Tools --> Andoid -->Emulator Manager... 进行创建;
我用真机调试了一下,截图效果:

Xamarin + Visual Studio 跟 Android Studio 的比较:
1. 运行 VS(我用的2015社区版)所占用的内存比AS占用的小的多,一般就100多兆,而且还会自动释放内存,而 AS 动不动就5、6百,甚至1G多,而且居高不下;

2. 编译处的软件在真机上安装后,在控件一样多的情况下,Xamarin 编译出的软件加载控件的速度明显慢很多,打包的APK文件也比较大,
只添加了一个Button控件就5M多;而相同情况下AS的只有1M左右(都是在没有经过优化的情况下);
下图是Xamarin编译的发布版本:

3. 用C#编写的代码更加简洁,比如为按钮添加点击事件处理器,只需要添加个 delegate 就行了,而且可以添加多个;
4. 现在VS的代码自动补全功能还没有支持.axml文件的编写,而AS的代码自动补全比较全面和智能;
5. Xamarin 跨平台,这个不用说了;
6. ......
用Xamarin + VS 编写Android程序体验及其与Android Studio的比较的更多相关文章
- Visual Studio 开始支持编写 Android 程序并自带 Android 模拟器【转载】
原文地址 本文内容 为什么需要一个 Android 模拟器 针对 Visual Studio Android 模拟器的调试 Visual Studio Android 模拟器的传感器模拟和其他功能 A ...
- Android 程序分析环境搭建-Android 9 -代码下载编译
Android 9 -代码下载编译 一,翻墙下载: 1.背景: 背景: 现在Android framework 开发的同学,整体在公司里面解一些无关痛痒的bug,对于Android framework ...
- 使用Monitor调试Unity3D Android程序日志输出(非DDMS和ADB)
使用Monitor调试Unity3D Android程序日志输出(非DDMS和ADB) http://www.cnblogs.com/mrkelly/p/4015245.html 以往调试Androi ...
- Android程序分析环境(搭建步骤略)
1:安装JDK JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK).没有JDK的话,无法编译Java程序. 2:安装Android SDK Androi ...
- Android程序入口以及项目文件夹的含义和使用总结—入门
新接触一门程序或者开发框架,我一般都要先弄清楚程序的入口在哪里,程序怎么运行的:建立一个项目后,各个文件夹有什么作用以及如何使用等等.理清楚这些东西对以后开发是很有好处的,古话说得好,工欲善其事,必先 ...
- 谈使用Eclipse与DDMS调试Android程序的方法
在Eclipse开发工具中调试程序的方法很多,但是使用Eclipse调试Android程序时需要注意一些细节上的问题.许多刚接触 Android的开发者,在调试Android程序时总是不能迅速地找到程 ...
- Android程序的入口点
原文:Android程序的入口点 android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码 ...
- delphi 10 Seattle 第一个Android程序
delphi 10 Seattle 第一个Android程序 1.打开Delphi RAD Studio Seattle,如下图 2.选择black application 点击OK 3. ...
- 【Android实验】第一个Android程序与Activity生命周期
目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比 ...
随机推荐
- android学习11——Handler,Looper,MessageQueue工作原理
Message是Handler接收和处理的消息对象. 每个线程只能拥有一个Looper.它的loop方法读取MessageQueue中的消息,读到消息之后就把消息交给发送该消息的Handler进行处理 ...
- 动态添加删除网卡 - 每天5分钟玩转 OpenStack(156)
这是 OpenStack 实施经验分享系列的第 6 篇. 在项目实施过程中,经常会有添加删除网卡的需求.比如一个运行数据库的 instance,初始只有一个网卡,数据库服务和备份共用这块网卡,后来为提 ...
- js或者php浮点数运算产生多位小数的理解
<?php $f = 0.58; var_dump(intval($f * 100)); //为啥输出57 ?> 首先我们要知道浮点数的表示(IEEE 754): 浮点数, 以64位的长度 ...
- 了解 : Odata 的 $filter
api/jobPosts?$filter=company/name eq "string" //基本 api/orders?$filter=orderItem/product/EF ...
- Strtus2 S2-045漏洞
S2-045漏洞已经爆发几天了,但还很多网址都存在此漏洞,很多金融类网站也收到了保护费通知...唉,收保护费少,报警无效!只能酌情处理了!做黑产的,还是少做为秒,常在河边站哪有不湿鞋,劝各位早日金盆洗 ...
- 剑指offer_数组中的逆序对
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P. 并将P对1000000007取模的结果输出. 即输出P%100 ...
- poolingHttpclientConnectionmanager 使用
在阅读 netflix zuul 的simpleHostRoutingFilter 中,发现了一些问题. 主要是关于poolingHttpclientConnectionmanager. 在寻找其中的 ...
- require和include的区别及自动加载的定义
//引入文件//require与include的区别://include主要是指引入,如果引入的文件出现错误,则程序停止运行//require主要是指请求,如果请求的文件出现错误,则程序不受影响,继续 ...
- js面向对象总结
原型链 新创建的xiaoming的原型链是: xiaoming ----> Student.prototype ----> Object.prototype ----> null 也 ...
- LBPL--基于Asp.net、 quartz.net 快速开发定时服务的插件化项目
LBPL 这一个基于Asp.net. quartz.net 快速开发定时服务的插件化项目 由于在实际项目开发中需要做定时服务的操作,大体上可以理解为:需要动态化监控定时任务的调度系统. 为了实现快速开 ...