Android应用性能优化最佳实践.1.2 Android Studio使用入门

1.2 Android Studio使用入门


1.2.1 Android Studio安装

这里我们以在Windows系统上安装Android Studio为例,具体的安装步骤如下:

1)安装JDK,且为JDK 1.6及以上版本。

2)下载Android Studio安装包:developer.android.com/sdk/installing/studio.html。

3)单击安装包开始安装,首先进入选择组件界面,如图1-1所示。

 

图1-1 选择安装组件

一般已经安装Eclipse或其他Android开发环境的,只需要安装默认的选项(Android Studio)即可。

4)单击Next,如果已经下载过SDK,并且在前面的组件没有选择安装SDK,会弹出一个设置本地SDK的界面,选择本地SDK目录,如图1-2所示。

 

图1-2 选择SDK目录

5)一直单击Next,直到安装完成,单击Finish,首次启动Android Studio会有一个配置的过程,需要等待一下。

因为本书主要是讲性能优化,所以这里只是简单地介绍下基本的安装。需要了解更多安装细节,可以参考Android开发官网的详细介绍文档:

http://developer.android.com/intl/zh-cn/sdk/installing/index.html?pkg=studio。

如果首次启动出现错误导致启动失败,一般来说是因为联网下载一些配置文件失败,可以使用记事本打开studio的安装目录下/bin中的idea.properties文件,在最后一行添加disable.android.f?irst.run=true。

1.2.2 创建一个Android Studio工程

又到熟悉的HelloWold环节了,安装完成后,如果没有新建过项目,会出现一个欢迎对话框,选择新建项目。如果已经有项目,则可以通过File→New→New Project来新建一个项目,填写相关名称,包括应用名(Application name)、公司名(Company Domain)、包名(Package name)、项目本地路径(Project Location),如图1-3所示。

下一步选择开发平台,选择Android Phone,SDK使用Android 6.0,如图1-4所示。

 

图1-3 新建项目

 

图1-4 选择应用运行平台

后面两步都使用默认设置,最后单击Finish进入我们的项目。进入后可以看到,左侧的项目文件区域显示的文件树结果和Eclipse并不相同,而且本地目录的文件层级也不相同。因为Android Studio使用了Gradle项目构建工具,而Eclipse使用Ant构建项目。

如果不习惯这种结构,可以通过Gradle设置与Eclipse相同的目录结构。

进入后发现不能编译,这是因为还未设置编译工具。需要先配置Gradle,由于Android Studio没有自带Gradle插件,所以会自动下载Gradle,但需要设置代理,并且设置代理下载仍然会比较慢,这里介绍离线配置Gradle的方法,步骤如下:

1)从官网下载Gradle:http://gradle.org/gradle-download/,这里我们选择1.3版本。

2)进入C:\Users\.gradle\wrapper\dists\gradle-2.2-all\1vevkra640w3rb9hkuw50q5we,最后这个文件夹是随机生成的,所以直接进入,把下载好的gradle-1.3-all.zip放到这个文件夹内即可。

3)重新启动Android Studio,就可以正常编译了。

Gradle是一种依赖管理工具,基于Groovy语言,抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定语言(DSL),掌握Gradle脚本的编译和打包是应用开发非常必要的。

1.2.3 从Eclipse项目迁移到Android Studio

Eclipse项目和Android Studio相比,在项目结构、构建系统以及IDE的风格上都有了较大的变化。从Eclipse ADT项目迁移到Android Studio有两种方法,一是直接把Eclipse项目导入Android Studio中,二是从Eclipse导出Gradle项目,然后在Android Studio中可以直接打开导出的项目。

Android Studio是基于intelliJ IDEA开发的一款IDE,与Eclipse有很多不同的地方,特别是工程的目录结构,区别非常大。在Eclipse Android中的Project在Android Studio中是一个Module,并且Android Studio是单项目管理,每个窗口只能打开一个Project,这也是Android Studio打开更快的原因之一。在Android Studio中,有多种视图结构类型:Packages、Project Files、Scratches、Problems、Production、Tests,可以根据自己需求来使用不同的视图类型。

Eclipse和Android Studio中项目结构的对应关系如表1-1所示。

表1-1 Eclipse与Android Studio项目结构对应的关系

Eclipse ADT Android Studio

Workspace Project

Project Module

Project-specif?ic JRE Module JDK

Classpath variable Path variable

Project dependency Module dependency

Library Module Library

AndroidManifest.xml app/src/main/AndroidManifest.xml

assets/ app/src/main/assets

res/ app/src/main/res/

src/ app/src/main/java/

tests/src/ app/src/androidTest/java/

 

从表1-1可以看出,结构发生了非常大的变化,如果直接按对应关系来迁移项目中的文件对应到Android Studio的目录结果,工作量不小并且容易出错。因此,为了简化迁移过程,Android的Studio提供了一个快速导入Eclipse项目的方法,可以将Eclipse和Ant构建脚本快速转换到Android Studio上。导入步骤如下:

1)在Android Studio菜单栏选择File→New→Import Project。如果是首次使用,在欢迎页可直接选择Import Project。

2)选择需要导入的Eclipse工程目录,AndroidManifest.xml必须是在根目录下。

3)在导入过程中会提示是否重新配置Eclipse中的所有第三方库和项目依赖关系,如果勾选,就会重新生成新的第三方管理库和依赖关系,依赖关系和第三方库也可以在build.gradle文件上修改。如图1-5所示,有三个选项可以选择,前两项目是jar包的引用规则,建议勾选,这样就不用管理这些jar包了。第三项是指是否需要把Module名创建为camelCase风格(首字母小写的命名规则)。

4)单击Finish按钮,完成后会生成一个import-summary.txt文件,它是导入过程中产生的日志,这个文件比较重要,如果项目比较大,导入过程不一定顺利,可以通过这个文件来发现导入过程中出现的问题。

这样就把Eclipse Android项目导入Android Studio了,注意前面讲过,导入完成后生成了一个描述导入过程的日志文件:import-summary.txt,文件中包含以下几个内容:

Ignored Files:描述在导入过程中忽略了哪些文件,这些文件是没有拷贝过来的,如果有需要,就要手动添加过来,一般会忽略Eclipse ADT相关的配置文件和一些自定义的文件/文件夹。

Replaced Jars with Dependencies和Replaced Libraries with Dependencies:列出那些替换的JAR包,在Android Studio中,如果在仓库中有这个库或者SDK,就会被替换。

Moved Files:文件移动路径列表。

Next Steps:接下来需要做些什么,如果没有问题,一般告诉你可以编译了。

Bugs:如果不能编译,就会列出当前项目存在的问题。

上面介绍的这种导入项目的方式也是Android官网推荐的,理由是简单高效,有问题也容易发现,最主要是不会改变原来的文件组织架构。

更多有关从Eclipse ADT迁移到Android Studio的内容可以从Android开发官网上查询:http://developer.android.com/intl/zh-cn/sdk/installing/migrate.html#prerequisites。

这样导入的项目还是会保留Eclipse的构建方式,比如在Eclipse上使用Ant构建,迁移后还是会使用Ant构建,如果先从Eclipse导出成Gradle项目就使用Gradle构建,当然也可以手动改构建方式。

时间: 2024-11-01 07:01:14

Android应用性能优化最佳实践.1.2 Android Studio使用入门的相关文章

Android应用性能优化最佳实践.

移动开发 Android应用性能优化最佳实践 罗彧成 著 图书在版编目(CIP)数据 Android应用性能优化最佳实践 / 罗彧成著. -北京:机械工业出版社,2017.1 (移动开发) ISBN 978-7-111-55616-9 I. A- II. 罗- III. 移动终端-应用程序-程序设计 IV. TN929.53 中国版本图书馆CIP数据核字(2016)第315986号 Android应用性能优化最佳实践 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037

Android应用性能优化最佳实践.2.3 布局优化

2.3 布局优化 布局是否合理主要影响的是页面测量时间的多少,我们知道一个页面的显示测量和绘制过程都是通过递归来完成的,多叉树遍历的时间与树的高度h相关,其时间复杂度为O(h),如果层级太深,每增加一层则会增加更多的页面显示时间. 任何时候View中的绘制内容发生变化时,都需要重新创建DisplayList.渲染DisplayList,更新到屏幕上等一系列操作.这个流程的表现性能取决于View的复杂程度.View的状态变化以及渲染管道的执行性能.例如,假设某个Button的大小需要增大到目前的两

Android应用性能优化最佳实践导读

前 言 为什么写这本书 一个好的应用,除了要有吸引人的功能和交互之外,在性能上也应该有高的要求,即使应用非常具有特色,或者功能和业务具有唯一性,在产品前期可能吸引了部分用户,但用户体验不好的话,也会给产品带来很差的口碑,如果有在体验上更好的竞品,用户也会很快转移.那么一个好的应用应该如何定义呢?主要有三方面: 业务/功能 符合逻辑的交互 优秀的性能 众所周知,Android系统作为以移动设备为主的一款操作系统,硬件配置有一定的限制,虽然配置现在越来越高级,但仍然无法和PC相比,在CPU和内存上的

Android应用性能优化最佳实践.2.1 Android系统显示原理

绘?制?优?化 Android应用启动慢,使用时经常卡顿,是非常影响用户体验的,应该尽量避免出现.卡顿的场景有很多,按场景可以分成4类:UI绘制.应用启动.页面跳转.事件响应,如 图2-1所示.在这四种场景下又有多个小分类,基本上覆盖了卡顿的各个场景.   图2-1 卡顿主要场景 这4种卡顿场景的根本原因又可以分成两大类. 界面绘制:主要原因是绘制的层级深.页面复杂.刷新不合理,由于这些原因导致卡顿的场景更多出现在UI和启动后的初始界面以及跳转到页面的绘制上. 数据处理:导致这种卡顿场景的原因是

Android应用性能优化最佳实践.2.2 性能分析工具

2.2 性能分析工具 从前一节可以看到,Android系统在4.1以后从框架上解决了由于系统问题导致的卡顿现象,但在实际的使用过程中,在用户的感受上,卡顿仍然是应用开发中主要面临的问题,而原因从上一节的分析中也知道本质是VSync信号到来时,不能及时处理绘制事件导致,本节先抛出以下两个问题: 1)应用层做了什么会导致VSync事件不能及时处理? 2)卡顿能监控吗? 性能问题并不容易复现,也不好定位,光从几个场景不能完全覆盖所有的问题,因此在做性能优化时,最直接有效的方法,就是尽量复现存在性能问题

Android应用性能优化最佳实践.1.4 本章小结

1.4 本章小结 Android Studio的安装并不复杂,首次使用可能会不适应并觉得效率甚至低于以前使用的其他IDE,但相信使用一段时间后,一定能体验到它的灵活和强大之处,同时Android Studio的技巧非常多,大家可以多从网上找到各种技巧. 古人云,"工欲善其事,必先利其器",Android应用开发者的"器"则是指Android Studio,熟练运用开发工具,能极大程度提高开发效率.在掌握Android Studio这个开发神器后,再通过接下来的章节的

Android应用性能优化最佳实践.2.5 启动优化

2.5 启动优化 随着应用的功能越来越丰富.启动时需要初始化的工作多.界面的元素复杂等,启动速度不可避免地受到影响,比如一开始单击时出现黑屏或者白屏,甚至在低端机型上出现假死的现象,本节通过学习应用的启动流程.启动速度的监控,发现影响启动速度的问题所在,并优化启动的逻辑,提高应用的启动速度. 2.5.1 应用启动流程 Android应用程序的载体是APK文件,其中包含了组件和资源,APK文件可能运行在一个独立的进程中,也有可能产生多个进程,还可以多个APK运行在同一个进程中,可以通过不同的方式来

Android应用性能优化最佳实践.2.7 提升动画性能

2.7 提升动画性能 在打造优秀体验的应用和实现酷炫效果的过程中,动画是不可或缺的重要组成部分.Android平台提供了三个动画框架:帧动画(Frame Animation).补间动画(Tween Animation)和属性动画(Property Animation).属性动画在Android 3.0开始支持,开发者使用这些动画框架来实现各种动画效果,这三个框架都有其优势和局限性,要深入了解就需要明白它们的实现原理. 属性动画只有Android API 11(Android 3.0)以上才支持,

Android应用性能优化最佳实践.2.4 避免过度绘制

2.4 避免过度绘制 过度绘制(Overdraw)是指在屏幕上的某个像素在同一帧的时间内被绘制了多次.在多层次重叠的UI结构(如带背景的TextView)中,如果不可见的UI也在做绘制的操作,就会导致某些像素区域被绘制了多次,从而浪费多余的CPU以及GPU资源. 当设计上追求更华丽的视觉效果时,我们很容易陷入采用复杂的多层次重叠视图来实现这种视觉效果的怪圈.这很容易导致大量的性能问题,为了获得最佳性能,必须尽量减少Overdraw情况发生. 我们一般在XML布局和自定义控件中绘制,因此可以看出导